0
votes

Créer un nombre dynamique de boutons avec une URL dynamique

Je me sens si proche de celui-ci. Je ne peux tout simplement pas obtenir les boutons générés pour s'ouvrir dans un nouvel onglet. Je suis coincé!

     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);


}  


1 commentaires

Eh bien, les boutons n'ont pas vraiment l'attribut href . Utilisez une balise a (ancre) pour les liens.


3 Réponses :


1
votes

Remplacez la balise par la balise

Les boutons n'ont pas la balise href code> et target , la balise a. Le code doit être comme ceci:

<!DOCTYPE html>
<html>
<body>

</body>
</html>
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);


0 commentaires

0
votes

Résolu le problème avec:

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>");
} 


0 commentaires