The principle is: generally use the traversal method to determine whether each Radio is selected, and if so, take its value.
<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>
It should be noted that the id (userlist) is set in the form above
There are two things to pay attention to here: one is how to get the value, and the other is how to traverse
document.getElementById("userlist").userid;
This is a method of taking the value of the name of the control element based on the id of the form.
You can also use document.getElementsByName("userid") to directly obtain
The difference between getElementById and getElementsByName. GetElementById can only select a single control when selecting a radio type element. When getElementsByName selects a radio type element, it takes out the entire radio array. If you must use getElementById, you can first use getElementById to obtain it like the above code. The id of the entire form, followed by the radio name
Now we know that document.getElementsByName("userid") is to get an array. The elements in the array are all the elements with the name radionum in the DOM tree. Even if there is only one radio, it is an array containing only one element.
Document.all.userid is different. It gets a reference to the userid element in the page. When there are multiple radios in the page, it returns an array. If the page only contains one radio, the radio you get is this radio. Object reference. Since what you get at this time is not an array, you cannot traverse the array to make a judgment.
is made into a function as follows:
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 gets the selected value in 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("您没有选择任何项"); } }