Prinsipnya ialah: secara amnya gunakan kaedah traversal untuk menentukan sama ada setiap Radio dipilih, dan jika ya, ambil nilainya.
<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>
Perlu diambil perhatian bahawa id (senarai pengguna) ditetapkan dalam borang di atas
Terdapat dua perkara yang perlu diberi perhatian di sini: satu ialah cara mendapatkan nilai, dan satu lagi ialah cara melintasi
document.getElementById("senarai pengguna").userid;
Ini ialah kaedah mengambil nilai nama elemen kawalan berdasarkan id borang.
Anda juga boleh menggunakan document.getElementsByName("userid") untuk mendapatkan terus
Perbezaan antara getElementById dan getElementsByName hanya boleh memilih satu kawalan apabila memilih elemen jenis radio Apabila getElementsByName memilih elemen jenis radio, ia mengeluarkan keseluruhan tatasusunan radio getElementById untuk mendapatkannya seperti kod di atas Id bagi keseluruhan borang, diikuti dengan nama radio
Sekarang kita tahu bahawa document.getElementsByName("userid") adalah untuk mendapatkan tatasusunan Elemen dalam tatasusunan ialah semua elemen dengan nama radionum dalam pepohon DOM Walaupun hanya terdapat satu radio, ia adalah satu tatasusunan yang mengandungi hanya satu elemen.
Document.all.userid adalah berbeza Ia mendapat rujukan kepada elemen id pengguna dalam halaman Apabila terdapat berbilang radio dalam halaman, ia mengembalikan tatasusunan Jika halaman hanya mengandungi satu radio, radio yang anda perolehi adalah radio ini. Rujukan objek. Memandangkan apa yang anda dapat pada masa ini bukan tatasusunan, anda tidak boleh melintasi tatasusunan untuk membuat pertimbangan.
dijadikan fungsi seperti berikut:
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 mendapat nilai yang dipilih dalam 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("您没有选择任何项"); } }