简体   繁体   English

Javascript 表单验证问题

[英]Javascript Form Validation Problem

i'm trying to put together some Javascript form validation to check that all fields have been completed before submitting.我正在尝试整理一些 Javascript 表单验证,以在提交之前检查所有字段是否已完成。

So far i have this in my tag, and the function for the first form field only:到目前为止,我的标签中有这个,function 仅用于第一个表单字段:

<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>

And the first field i'm trying to validate is:我要验证的第一个字段是:

<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>

Can someone explain what i'm doing wrong?有人可以解释我做错了什么吗? It's not bringing up any alert when i submit the form with no entry in the field and is just going through as normal.当我提交没有在字段中输入的表单并且正常进行时,它不会发出任何警报。

Thanks Dan谢谢丹

Your code is riddled with errors.您的代码充满了错误。 You spelled your call to the validatecompany_name function wrong, your if statements aren't properly formed (errant opening bracket) and you don't pass the form variable properly (you treat preview and form interchangeably).您对validatecompany_name function 的调用拼写错误,您的if语句格式不正确(错误的左括号)并且您没有正确传递form变量(您可以互换地对待previewform )。 This works, although it's not great code:这行得通,虽然它不是很好的代码:

function validate(form){
  var fail = validatecompany_name(form.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 "";
}

You need closing parentheses on your if statements if (BOOLEAN)您需要在 if 语句if (BOOLEAN)上加上右括号

Plain and un-fancy javascript validation:普通且不花哨的 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>

If you need anything fancier than that, look at jQuery validation instead如果您需要比这更高级的东西,请查看 jQuery 验证

wat is this statement do proper closings... if (field == "" return "No Company Name was entered. \n" it should be like if (field == "") return "No Company Name was entered. \n" wat 这个语句是否正确关闭... if (field == "" return "No Company Name was entered. \n"它应该像if (field == "") return "No Company Name was entered. \n"

and you cannot directly access form by name.. use document.formname or use the form object that you passed...并且您不能直接按名称访问表单。使用document.formname或使用您传递的表单 object...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM