0
我試圖創建一個帶有多個單選按鈕的窗體。我生成使用for循環,像這樣的單選按鈕:在php中的單選按鈕的客戶端驗證
<form name="myForm" method="POST" id="myForm" action="result.php" onsubmit="">
<?php for ($i = 1; $i <= $row = mysqli_fetch_array($result); $i++)
{ ?>
<input type="radio" name="opt<?php echo $i; ?>" id="opt<?php echo $i; ?>" value="A"/><br/>
<input type="radio" name="opt<?php echo $i; ?>" id="opt<?php echo $i; ?>" value="B"/> <?php } ?>
我想確保每個單選按鈕組,有1個選擇的答案。我一直在不斷地尋找,我想出了這個代碼:
</script><script type="text/javascript">
function validate() {
var x = "<?php echo $j;?>";
var formValid = false;
for (var i = 1; i <= x; i++)
{
var y = document.getElementsByName("opt"+i);
var j = 0;
while (!formValid && j < y.length){
if (y[j].checked) {
formValid = true;
j++;
alert("test");
}
break;
}
}
if (!formValid) { alert("all fields required");
return false;
}
else
{
var form = document.getElementById("myForm");
form.submit();
}</script>
我對這個問題即使所有的單選按鈕已經被選中,需要各個領域仍然彈出,表單將提交。有什麼我在這裏失蹤?請幫忙。我一直堅持這幾天。
確保每個單選按鈕組具有相同名稱的屬性值的名字=「radioGroupOne」 NAME =「radioGroupTwo」,那麼它會工作 – HaBo 2013-05-10 02:04:45
他們有相同的名稱。我已經檢查過,所以我不確定它爲什麼不起作用。我在我的代碼中改變了一些東西,特別是var j = i到var j = 0。然而,如果我已經有大約3個收音機打勾,表單已經提交,即使仍然有無線電要打勾。 – user1597438 2013-05-10 02:15:29
你可以粘貼你的代碼生成的標記 – HaBo 2013-05-10 02:21:28