时间:2011-07-07 16:17:22

标签: javascript validation

我正在尝试整理一些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>

有人可以解释我做错了什么吗?当我提交表格而没有在该领域进入并且正常进行时,它没有提出任何警报。

由于 丹

4 个答案:

答案 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或使用您传递的表单对象...