【发布时间】:2015-01-24 19:00:01
【问题描述】:
如何验证单选按钮。至少选择了一个选项。
代码将显示一个问题和 3 个答案作为数据库中的单选按钮。 例如
what is Captial of India?
O New Delhi
O Chennai
O Mumbai
用户必须选择正确的答案。如果用户没有选择任何答案并单击提交,我想显示一条消息“请回答问题”。?
我的代码:
<?php
$today=date("Y-m-d");
mysql_query("SET CHARACTER SET utf8");
echo "<form method='post' id='submit' action='checkresult.php' dir='rtl'>";
$sql="SELECT * FROM cquestions where showdate='$today' limit 1";
$result=mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
echo "<p>" . $row['cqtext'] . "</p>";
$sql2="SELECT * FROM canswers where cqid=".$row['cqid'];
$result2=mysql_query($sql2);
while($row2=mysql_fetch_assoc($result2))
{
echo "<input type='radio' name='".$row['cqid']."' value='".$row2['cqans']."' />".$row2['aatext'];
echo"<br>";
}
}
echo"<br>";
echo"<br>";
echo"<br>";
echo "<div align='left' style='padding-left:160px;'>";
echo"<input type='submit' id='submit' name='submit' value='التالي' />";
echo "</div>";
echo "</form>" ;
?>
如何使用javascript做到这一点?
我试过这样。
echo "<form name='q1' method='post' id='submit' action='checkresult.php' onsubmit='return validateForm()';>";
echo "<input type='radio' id='a' name='".$row['cqid']."' value='".$row2['cqans']."' />".$row2['aatext'];
这行得通。
function validateForm()
{
var a = document.getElementById('a');
if ( (a.checked == false ) )
{
alert ( "Please answer the question ");
return false;
}
}
成功了。
function RadioValidator()
{
var ShowAlert = '';
var AllFormElements = window.document.getElementById("submit").elements;
for (i = 0; i < AllFormElements.length; i++)
{
if (AllFormElements[i].type == 'radio')
{
var ThisRadio = AllFormElements[i].name;
var ThisChecked = 'No';
var AllRadioOptions = document.getElementsByName(ThisRadio);
for (x = 0; x < AllRadioOptions.length; x++)
{
if (AllRadioOptions[x].checked && ThisChecked == 'No')
{
ThisChecked = 'Yes';
break;
}
}
var AlreadySearched = ShowAlert.indexOf(ThisRadio);
if (ThisChecked == 'No' && AlreadySearched == -1)
{
ShowAlert = ShowAlert + ThisRadio + ' يرجى الإجابة على السؤال\n';
}
}
}
if (ShowAlert != '')
{
alert(ShowAlert);
return false;
}
else
{
return true;
}
}
</script>
【问题讨论】:
-
如果用户点击提交,它将转到下一个问题。他必须回答这个问题。现在没有选择任何答案,如果我们点击提交它会转到下一个问题。我想防止这种情况发生。
-
应始终验证传入数据。这种情况下只能通过php来完成。
-
在php中怎么做?
-
在 w3schools 上,您可以找到 tutorial 用于使用 php 验证表单数据。
标签: javascript php html validation radio-button