Heim > Artikel > Web-Frontend > Rufen Sie den ausgewählten Wert von Radio in JavaScript_Form-Spezialeffekten ab
Das Prinzip lautet: Verwenden Sie im Allgemeinen die Traversal-Methode, um zu bestimmen, ob jedes Radio ausgewählt ist, und wenn ja, nehmen Sie seinen Wert.
<form id="userlist" method="post" action="option.php"> <input type="radio" name="userid" value="1">1 <input type="radio" name="userid" value="2">2 <input type="radio" name="userid" value="3">3 </form> <script language="javascript"> function usubmit(action){ var radionum = document.getElementById("userlist").userid; for(var i=0;i<radionum.length;i++){ if(radionum[i].checked){ userid = radionum[i].value } } window.location.href='option.php?action='+action+'&userid='+userid; } </script>
Es ist zu beachten, dass die ID (Benutzerliste) im obigen Formular
festgelegt wirdHier sind zwei Dinge zu beachten: Zum einen, wie man den Wert erhält, und zum anderen, wie man ihn durchquert
document.getElementById("userlist").userid;
Dies ist eine Methode, den Wert des Namens des Steuerelements basierend auf der ID des Formulars zu ermitteln.
Sie können auch document.getElementsByName("userid") verwenden, um
Der Unterschied zwischen getElementById und getElementsByName kann bei der Auswahl eines Radiotypelements nur ein einzelnes Steuerelement auswählen. Wenn Sie getElementById verwenden müssen, können Sie zuerst ein Radiotypelement auswählen getElementById, um es wie den obigen Code zu erhalten. Die ID des gesamten Formulars, gefolgt vom Radionamen
Jetzt wissen wir, dass document.getElementsByName("userid") ein Array erhalten soll. Die Elemente im Array sind alle Elemente mit dem Namen radionum im DOM-Baum. Auch wenn es nur ein Radio gibt Array, das nur ein Element enthält.
Document.all.userid ist anders. Es erhält einen Verweis auf das userid-Element auf der Seite. Wenn die Seite nur ein Radio enthält, wird dieses Radio zurückgegeben. Objektreferenz. Da es sich bei dem, was Sie zu diesem Zeitpunkt erhalten, nicht um ein Array handelt, können Sie das Array nicht durchlaufen, um ein Urteil zu fällen.
wird wie folgt in eine Funktion umgewandelt:
function getRadioBoxValue(radioName) { var obj = document.getElementsByName(radioName); //这个是以标签的name来取控件 for(i=0; i<obj.length;i++) { if(obj[i].checked) { return obj[i].value; } } return "undefined"; }
JS erhält den ausgewählten Wert im Radio
function Foo() { var selectedIndex = -1; var form1 = document.getElementById("form1"); var i = 0; for (i=0; i<form1.r.length; i++) { if (form1.r[i].checked) { selectedIndex = i; alert("您选择项的 value 是:" + form1.r[i].value); break; } } if (selectedIndex < 0) { alert("您没有选择任何项"); } }