我正在尝试整理一些Javascript表单验证,以便在提交之前检查所有字段是否已完成。
到目前为止,我在我的标签中有这个,而且只有第一个表单字段的函数:
<script type="text/javascript">
function validate(form) {
fail = vaildatecompany_name(preview.company_name.value)
if (fail =="" return true
else { alert(fail); return false }
}
function validatecompany_name(field) {
if (field == "" return "No Company Name was entered. \n"
return ""
}
</script>
我试图验证的第一个字段是:
<form action="jobpreview.php" name = "preview" method="post" form enctype="multipart/form-data" onSubmit = "return validate(this)">
<ul>
<li><label for = "company_name">Company Name</label>
<input type="text" name="company_name"/>
</li>
有人可以解释我做错了什么吗?当我提交表格而没有在该领域进入并且正常进行时,它没有提出任何警报。
由于 丹
答案 0 :(得分:2)
您的代码充满了错误。您将validatecompany_name
函数的调用拼写错误,if
语句未正确形成(错误的左括号)并且您没有正确传递form
变量(您对待{{{ 1}}和preview
可互换)。这是有效的,虽然它不是很好的代码:
form
答案 1 :(得分:1)
您需要在if语句if (BOOLEAN)
答案 2 :(得分:1)
简单且无趣的javascript验证:
<script type="text/javascript">
function validate(form) {
var company_name=form.company_name;
if (company_name.value=="") {
alert("Please enter company name");
company_name.focus();
return false
}
var company_phone=form.company_phone;
if (company_phone.value=="") {
alert("Please enter company phone");
company_phone.focus();
return false
}
return true; // allow submission
}
</script>
<form action="jobpreview.php" method="POST"
enctype="multipart/form-data" onSubmit="return validate(this)">
<ul>
<li><label for = "company_name">Company Name</label>
<input type="text" name="company_name"/>
</li>
.
.
.
</form>
如果您需要更高级的东西,请查看jQuery验证
答案 3 :(得分:0)
wat是这句话做了正确的关闭...... if (field == "" return "No Company Name was entered. \n"
它应该像if (field == "") return "No Company Name was entered. \n"
并且您无法直接按名称访问表单..使用document.formname
或使用您传递的表单对象...