使用Javascript验证表单
我正在尝试使用Javascript实现一个验证过程,我的表单有四个单选按钮和一个提交按钮,我想这样做,如果用户单击提交,但没有选择单选按钮,那么它会弹出一个警报,并且不会提交表单。以下是我的表单的外观:使用Javascript验证表单,javascript,html,Javascript,Html,我正在尝试使用Javascript实现一个验证过程,我的表单有四个单选按钮和一个提交按钮,我想这样做,如果用户单击提交,但没有选择单选按钮,那么它会弹出一个警报,并且不会提交表单。以下是我的表单的外观: <form method="post" name="inform"> If you checked off <span style="text-decoration:underline">any</span> problems, how <span s
<form method="post" name="inform">
If you checked off <span style="text-decoration:underline">any</span> problems, how <span style="text-decoration:underline">difficult</span> have these problems made it for you to do your work take care of things at home or get along with other people?
<table id="lastquestion">
<tr>
<td>Not difficult at all</td>
<td>Somewhat difficult</td>
<td>Very difficult</td>
<td>Extremely Difficult</td>
</tr><tr>
<td style="text-align:center"><input type="radio" value="not difficult at all" name="finalquestion" /></td>
<td style="text-align:center"><input type="radio" value="somewhat difficult" name="finalquestion" /></td>
<td style="text-align:center"><input type="radio" value="very difficult" name="finalquestion" /></td>
<td style="text-align:center"><input type="radio" value="extremely difficult" name="finalquestion" /></td>
</tr>
</table>
<input type="hidden" value="<?php echo $totalScore; ?>" name="totalScore" />
<input type="submit" value="Submit Final Answer" name="submit" onclick="return validate(inform)" />
</form>
function validate(formCheck)
{
if(formCheck.finalquestion == "")
{
alert("Please Choose an option");
return false;
}
else
{
return true;
}
}
但出于某种原因,我的按钮正在提交,无论发生什么,这里的任何建议都会有所帮助,谢谢
更新:我已尝试选择一个收音机,然后在validate函数和formCheck中发出警报。finalquestion打印:[对象节点列表],因此,我认为选择哪个按钮的值没有正确通过。您依赖于仅在IE中工作的命名行为:只有浏览器为具有该
名称的每个元素提供全局Javascript变量xyz
(或者更确切地说,window.xyz
)
要指定表单,请使用submit按钮的form
属性。它始终是对表单对象的引用:
return validate(this.form);
要获取单选按钮的元素,需要指定值
属性。使用
if(formCheck.elements.finalquestion.value == "")
这不是你问题的一部分,但我要指出的是,无论你在Javascript中进行了多少验证,你都需要在服务器端再次进行验证,因为最终用户很容易绕过Javascript验证。(你可能已经知道了,但它总是值得重申)谢谢你的建议Spudley:)谢谢你的建议Pekka,这在Firefox中确实有效,但我不得不将if(formCheck.elements.finalquestion.value==“”)改为if(formCheck.elements.finalquestion.value==未定义)@Pete mmmm,或者尝试if(!formCheck.elements.finalquestion.value)
-我想如果它能工作的话会更好,我明白了,使用你的建议会对所有浏览器更友好吗?@Pete我想是的,因为值可能存在,但当没有选择单选按钮时,它可能是空的。老实说,我不确定语言标准对此有何规定,但如果!
方法能工作的话,我会更喜欢ble