修改后的问题,这样你就可以停止迈克尔了!
好的,我想用jquery来验证它。
表单值来自隐藏的输入。因此,如果任何隐藏的输入== 0,我想提醒用户填写表格。如果所有== 1我希望提交表单。
我想通过带有onclick事件的输入按钮类型提交。
<script>
jquery function
if all hidden == 0
alert
else
location.href='submit2pd.php
</script>
<input onclick="(the jquery function)" type="button" value="Submit" />
答案 0 :(得分:2)
删除整个else
块可能会解决问题(如果<form>
有target
)。至于你的其余代码,嗯......没关系。
答案 1 :(得分:2)
帮自己一个忙,学习一些jQuery(或你选择的其他js库)。您可以将您的功能替换为以下内容:
$('#formId').submit(function(e){
$(this).find('checkbox').each(function(){
if($(this).val() == '0') {
alert('Please complete the form before submitting.');
e.preventDefault();
}
});
});
答案 2 :(得分:1)
您可以在此处找到您想要做的工作示例:http://www.shiningstar.net/articles/articles/javascript/checkboxes.asp
我会给你一个特定的答案和一个更概念性的答案,说明你为什么不起作用。
具体来说,您希望用checklist.whatever.checked == false
替换所有这些项目从概念上讲,这个长链或语句并不是一个好的软件工程,你会让自己痛苦地维持下去。您需要使用for循环才能使其正常工作,因为在该代码中引入拼写错误太容易了。
我同意Andre的观点,你应该使用jQuery,因为它与HTML元素交互的API比原生JavaScript API更容易。其次,获取firebug并学习使用console.log。第三步转到JavascriptLint网站,了解如何使用该工具。
答案 3 :(得分:0)
在你的函数中,checklist是输入元素,因此checklist.taccept
找不到元素。您需要以checklist
的形式传递表单才能实现此目的。
我认为Andre的jQuery解决方案更加优雅,同样易于实现。而不是提交处理程序,只需将其作为点击添加到您的按钮,然后将$(this)
更改为$("#formid")
答案 4 :(得分:0)
尝试坚持警告('in function ... bla');或者jscript块中的两个,然后你可以告诉它被成功调用,那么你可以处理你在块中想要做的事情。