使用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

我正在尝试使用Javascript实现一个验证过程,我的表单有四个单选按钮和一个提交按钮,我想这样做,如果用户单击提交,但没有选择单选按钮,那么它会弹出一个警报,并且不会提交表单。以下是我的表单的外观:

<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