我想提交表单当且仅当文本框被选中时...如果不是我想停止表单并发出提醒
现在我收到警报,如果它没有被检查但是它以任何方式提交表格
$(function() {
$("#button").click(function(){
if ($("#uploadTOS").is(":checked")) {
return true;
} else {
alert("Please agree to the TOS");
return false;
}
})
})
<form enctype="multipart/form-data" action="urlupload.php?do=verify" id="form" method="post" onsubmit="a=document.getElementById('form').style;a.display='none';b=document.getElementById('part2').style;b.display='inline';" style="display: inline;">
<div id="uploadform">
<input type="text" name="uploadfile" size="30" /><p>
<input type="submit" id="button" class="button" value="Upload" />
</div>
<div id="TOSDiv" style="display:none; z-index:60;">
<input id="uploadTOS" type="checkbox" name="tos" value="1" />
<span id="uploadTOSText">
I Agree to the <a href="tos.php" target="_blank">Terms of Service</a>
</span>
</div>
</form>
答案 0 :(得分:1)
将javascript更改为:
function submitcheck() {
if ($("#uploadTOS").is(":checked")) {
return true;
} else {
alert("Please agree to the TOS");
return false;
}
}
然后将onclick添加到提交按钮
<input type="submit" id="button" class="button" value="Upload" onclick="return submitcheck();" />
答案 1 :(得分:1)
使用onclick javascript:
function toscheck() {
if ($("#uploadTOS").is(":checked")) {
return true;
} else {
alert("Please agree to the TOS");
return false;
}
}
答案 2 :(得分:0)
我认为对于较新版本的jQuery,不推荐使用返回值。请尝试使用event.preventDefault
代替return false
。
请注意,event
变量只能通过jQuery .click(function(event) {...})
处理程序的第一个参数。