[英]Dynamical radio button group validation
示例javascript:
<script type="text/javascript">
function validateForm() {
var radiobutton = document.getElementsByName("co[]");
for (var i = 0; i < radiobutton.length; i++) {
if (radiobutton[i].checked) {
return true;
}
}
alert("At least one radio button has not been selected");
return false;
}
樣本php:
<form method="post" action="result.php" onSubmit="return validateForm();">
<?php
$_SESSION['two']=$_POST;
$query1 = mysql_query('SELECT * FROM option WHERE code IN("'.implode('","',$_POST['co']).'")');
while($data1 = mysql_fetch_assoc($query1))
{
echo $data1['name'];
?>
<table>
<tr>
<td>Detail</td>
<td>Select</td>
</tr>
<?php
$query = mysql_query('SELECT * FROM detailoption WHERE code="'.$data1['code'].'"');
while($data = mysql_fetch_assoc($query))
{
echo "<tr>";
echo "<td>".$data['detail']."</td>";
echo "<td><input type='radio' value='".$data['detail']."' name='co[".$data['code']."]' /></td>";
echo "</tr>";
}
?>
</table>
<?php
}
?>
<input type="submit" name="submit" value="Submit" />
當我選擇單選按鈕並提交時,系統顯示一條錯誤消息。
當我不選擇單選按鈕並提交時,系統還會顯示一條錯誤消息。
誰能幫我嗎?
您的行var radiobutton = document.getElementsByName("co[]");
總是返回空數組,因為您沒有使用該名稱的任何輸入。
您應該將code
信息存儲在輸入的value
屬性中,並且如果要檢索結果中的detail
字段,則應該將detailoption_id
存儲在value
屬性中,因為表中的所有行都具有相同的代碼,但是細節可能不一樣。
$query = mysql_query('SELECT * FROM detailoption WHERE code="'.$data1['code'].'"');
while($data = mysql_fetch_assoc($query))
{
echo "<tr>";
echo "<td>".$data['detail']."</td>";
echo "<td><input type='radio' value='".$data['code']."' name='co' /></td>";
echo "</tr>";
}
然后從給定的新名稱獲取輸入列表
var radiobutton = document.getElementsByName("co");
首先給表單命名,例如myform,然后嘗試這個。 我希望它將為您使用。
function validateForm() {
len = document.myform.co.length
for (i = 0; i <len; i++)
{
if (document.myform.co[i].checked)
{
return true;
}
alert("At least one radio button has not been selected");
return false;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.