Javascript验证程序出现问题
我试图创建一个简单的复选框和按钮,以验证用户是否已阅读TOS。由于某种原因,我的代码不起作用。页面加载,但按下按钮没有预期效果。Firebug说我是无错误的,所以我觉得我误解了某些东西是如何工作的。谁能解释一下我做错了什么?我对Javascript还是相当陌生的Javascript验证程序出现问题,javascript,Javascript,我试图创建一个简单的复选框和按钮,以验证用户是否已阅读TOS。由于某种原因,我的代码不起作用。页面加载,但按下按钮没有预期效果。Firebug说我是无错误的,所以我觉得我误解了某些东西是如何工作的。谁能解释一下我做错了什么?我对Javascript还是相当陌生的 <html> <head> <script language="javascript" type="text/javascript"> function validateForm() { if
<html>
<head>
<script language="javascript" type="text/javascript">
function validateForm()
{
if(document.getElementById("TOSbox").checked)
{
window.location.href = "/give.html";
}
else
{
document.getElementById("TOSWarning").innerHTML="You need to agree to the TOS first.";
}
}
</script>
</head>
<body>
This is where the TOS goes.
<br>
<form name="TOSform" action="">
<input type="checkbox" name="TOSbox" value="checked">I have read and agree to the Terms of Service.<br>
<button onclick="validateForm()">I Agree</button>
</form>
<p id="TOSWarning"></p>
</body>
</html>
函数validateForm()
{
if(document.getElementById(“TOSbox”).checked)
{
window.location.href=“/give.html”;
}
其他的
{
document.getElementById(“TOSWarning”).innerHTML=“您需要首先同意TOS。”;
}
}
这就是TOS的目的地。
我已阅读并同意服务条款。
我同意
您需要返回false
以防止默认提交行为
<button onclick="validateForm(); return false;">I Agree</button>
我同意
您需要返回false
以防止默认提交行为
<button onclick="validateForm(); return false;">I Agree</button>
我同意
首先,您的
需要一个,以避免提交表单(或者在表单无效时返回false)。另外,您使用的是getElementById
,但是您的复选框没有id,只有一个名称。尝试:
<input type="checkbox" name="TOSBox" id="TOSbox" value="checked">I have read and agree to the Terms of Service.<br>
<button type="button" onclick="validateForm();">I Agree</button>
我已阅读并同意服务条款。
我同意
首先,您的
需要一个,以避免提交表单(或者在表单无效时返回false)。另外,您使用的是getElementById
,但是您的复选框没有id,只有一个名称。尝试:
<input type="checkbox" name="TOSBox" id="TOSbox" value="checked">I have read and agree to the Terms of Service.<br>
<button type="button" onclick="validateForm();">I Agree</button>
我已阅读并同意服务条款。
我同意
相关:
如果使用按钮时表单中没有类型,则其默认类型为submit
考虑使用
以避免在按下按钮时过账表单
另外,在您正在使用的javascript中,您正在寻找一个id=“TOSbox”
,但您的复选框实际上只使用name=“TOSbox”
。您可能应该将id添加到其中
<input type="checkbox" id="TOSbox" name="TOSbox" value="checked">
相关:
如果使用按钮时表单中没有类型,则其默认类型为submit
考虑使用
以避免在按下按钮时过账表单
另外,在您正在使用的javascript中,您正在寻找一个id=“TOSbox”
,但您的复选框实际上只使用name=“TOSbox”
。您可能应该将id添加到其中
<input type="checkbox" id="TOSbox" name="TOSbox" value="checked">
确保防止表单的默认行为。“我正在尝试创建一个简单的复选框和按钮,用于验证用户是否已阅读TOS”,这很简单!答案是:没有。根本不需要查看复选框。@Elclandrs代码看起来像OP知道如何防止默认行为吗?@Kay:也许不是,这就是Google的目的,现在OP得到了搜索词“防止默认表单javascript”,并给出了数千个答案。确保防止表单的默认行为。“我正在尝试创建一个简单的复选框和按钮来验证用户是否阅读了TOS”这很简单!答案是:没有,他们没有。根本不需要查看复选框。@Elclars代码看起来像OP知道如何防止默认行为吗?@Kay:可能不是,这就是Google的目的,现在OP有了搜索词”“防止默认表单javascript”和大量答案。