2011-07-07 82 views
0

我正试图将一些Javascript表单验证放在一起,以检查提交前所有字段是否已完成。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> 

灿有人解释我做错了什么?当我提交表单时没有提及任何提醒,并且只是照常进行。

感谢 丹

回答

2

您的代码充满了错误秒。您拼写错了validatecompany_name功能的电话号码,您的if语句未正确组成(错误的首字母括号),并且您没有正确通过form变量(您可以互换地使用previewform)。这工作,虽然它不是伟大的代码:

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 ""; 
} 
+0

顺便说一句,你不需要'在你从'validatecompany_name'返回的时候,它没有任何实现。 – Ben

+0

感谢Ben,这实际上是从O'Reilly的一本书中复制而来的(但我代表的拼写错误很糟糕)。感谢您的时间,这是现在工作。谢谢,丹 – Dan

+0

我们至少可以做'return(field ===“”)吗?“没有公司名称被输入”:“”;' – mplungjan

1

您需要在右括号你的if语句if (BOOLEAN)

+0

嗯,这是一个有点尴尬!好的,我已经把关闭的圆括号放进去了,但它仍然不能识别提交时的空白字段。有任何想法吗? – Dan

0

笏是这个说法不正确的倒闭...... if (field == "" return "No Company Name was entered. \n"应该像if (field == "") return "No Company Name was entered. \n"

,你不能直接访问的形式按名称..使用document.formname或使用您通过的表单对象...

+0

在alert中检查'preview.company_name.value'的值...并注释所有其他代码...也尝试'if(field.trim()==“”)' – Dinash

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的确认,而不是

+0

感谢您的回答:) – Dan

+0

@DAN欢迎您。我的建议对你来说更容易维护。它会一次显示一个错误,并将错误集中在该字段上 – mplungjan