2009-10-09 10 views
0

Je ne peux pas obtenir le bouton de mon formulaire principal par javascript.Je reçois l'ID du bouton par querystring puis j'exécute le script suivant, mais je ne peux pas obtenir le bouton.Quand j'écris le nom du paramètre tel que getElementByID (' btnDelete '), il trouve le contrôle? Quelle peut être raison et comment puis-je résoudre ce problème?Trouver le bouton du formulaire Parent de l'image en javascript

 function okay() { 
     var btn = getQuerystring('btn'); 
     window.parent.document.getElementByID(btn).click(); 

}

function getQuerystring(key, default_) { 
      if (default_ == null) { 
       default_ = ""; 
      } 
      var search = unescape(location.search); 
      if (search == "") { 
       return default_; 
      } 
      search = search.substr(1); 
      var params = search.split("&"); 
      for (var i = 0; i < params.length; i++) { 
       var pairs = params[i].split("="); 
       if (pairs[0] == key) { 
        return pairs[1]; 
       } 
      } 
      return default_;  } 

Répondre

1

Je crois qu'il ya une faute de frappe dans votre code. Il devrait être window.parent.document.getElementById (btn) .click(); avec un "d" minuscule.

+0

Non, dans la fenêtre de visualisation rapide du studio visuel lorsque j'attribue la valeur 'btnDelete', je peux l'obtenir. J'ai changé getElementByID pour getElementById mais je n'ai pas résolu mon problème. – Alexander

0

Enregistrer ce que test.html:

<html> 
    <body> 
     <form action="http://google.com"> 
      <input type="submit" id="thebutton" value="Click Me!"/> 
     </form> 
     <iframe src="test2.html?btn=thebutton"/> 
    </body> 
</html> 

Enregistrer ce que test2.html:

<html> 
    <head> 
     <script> 
      function okay() { 
       var btn = getQuerystring('btn'); 
       window.parent.document.getElementById(btn).click(); 
      } 

      function getQuerystring(key, default_) { 
       if (default_ == null) { 
        default_ = ""; 
       } 
       var search = unescape(location.search); 
       if (search == "") { 
        return default_; 
       } 
       search = search.substr(1); 
       var params = search.split("&"); 
       for (var i = 0; i < params.length; i++) { 
        var pairs = params[i].split("="); 
        if (pairs[0] == key) { 
         return pairs[1]; 
        } 
       } 
       return default_; 
      } 
     </script> 
    </head> 
    <body onLoad="okay()"> 
    </body> 
</html> 

Le seul problème était que vous aviez besoin d'une minuscule d dans getElementById.

Questions connexes