Создание динамического количества кнопок с динамическим URL - PullRequest
0 голосов
/ 11 ноября 2019

Я чувствую себя так близко к этому. Я просто не могу сгенерировать кнопки для открытия в новой вкладке. Я застрял!

     function buildButton(url,i,size) {
            document.write("Building Button with URL= "+url+"<p>");

            var btn = document.createElement("BUTTON");
            btn.appendChild(document.createTextNode("PIDs "+i+" to "+(i+size)));
            btn.setAttribute("href",url);
            btn.setAttribute("target","_blank");
            document.body.appendChild(btn);


}  

Ответы [ 3 ]

1 голос
/ 11 ноября 2019

Измените тег <button> на <a> тег

Кнопки не имеют атрибутов href и target, тег <a> имеет. Код должен быть таким:

function buildButton(url,i,size) {
  document.write("Building Button with URL= "+url+"<p>");

  var a = document.createElement("a");
  a.appendChild(document.createTextNode("PIDs "+i+" to "+(i+size)));
  a.setAttribute("href",url);
  a.setAttribute("target","_blank");
  document.body.appendChild(a);
}

buildButton('https://stackoverflow.com/', 1, 1);
<!DOCTYPE html>
<html>
<body>

</body>
</html>
0 голосов
/ 11 ноября 2019

Другое решение, основанное на этой ссылке открытия кнопки HTML в новой вкладке . Похоже, вы все равно поняли

function buildButton(url,i,size) {
    document.write("Building Button with URL= "+url+"<p>");

    var btn = document.createElement("button");
    btn.appendChild(document.createTextNode("PIDs "+i+" to "+(i+size)));
    btn.setAttribute("onclick","window.open('" +url+"', '_blank')");

    document.body.appendChild(btn);
}  
buildButton("http://www.google.com","Thing", 44) ;
0 голосов
/ 11 ноября 2019

Решено с помощью:

function buildButton(url,i,size) {
    var btn = document.createElement("INPUT");
    btn.setAttribute("type","button");
    btn.setAttribute("onclick", "window.open('"+url+"')");
    btn.setAttribute("value","PIDs "+i+" to "+(i+size));
    btn.setAttribute("target","_blank");
    document.body.appendChild(btn);
    document.write("<p>");
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...