用于检查提交时的表单值的Javascript函数

时间:2011-10-13 15:09:57

标签: javascript forms

修改后的问题,这样你就可以停止迈克尔了!

好的,我想用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" />

5 个答案:

答案 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块中的两个,然后你可以告诉它被成功调用,那么你可以处理你在块中想要做的事情。