2012-11-09 72 views
0

我有一个联系表单有3个步骤,每个都有自己的“标签”,然后通过电子邮件php脚本提交。 Live版本为http://agoodman.com.au/wptest/menswear-porter-service/(点击“预订60秒”)。简单的表单验证多个div

在第一种形式中,我想确保他们在继续之前输入了一个电子邮件地址。我已经通过了以下尝试这样的:

<button class="btn classic" onclick=" if ('#basicdetails .email').value ='=' ' '){return false;} else {document.getelementbyid('n.2').click();}">next</button> 

目前的代码确实检查电子邮件地址,如果什么也没有进入暂停,但如果输入一个电子邮件的形式不进步。 ('#n.2'是一个简单显示表单下一页的标签)。如果我删除if声明,只是使按钮代码:

<button class="btn classic" onclick="document.getelementbyid('n.2').click()">next</button>

然后形式的进展,因为它应该,但很明显,当没有输入电子邮件地址不会暂停。

我的'if/else'语法错了吗?否则,我在这里错过了什么?

编辑:

与制造一些语法错误大(先用这样的事情试试),看到更新的代码:

<button class="btn classic" id="firstTab">next</button> 

<script> 
$('.btn#firstTab').click(function(){ 
if (('#basicdetails .email').value =='') { 
    return false; 
} else { 
$('#n2').click(); 
} 
}); 

</script> 
+1

您可能想要检出这个插件,它会极大地简化这个过程。 http://elclanrs.github.com/jq-idealforms/。 – elclanrs

+0

这确实很有帮助。我可能最终会使用它,但对于我自己的教育,我仍然想知道我在上面的代码中做了什么错误! – Jascination

+0

检查我的答案希望有所帮助。 – elclanrs

回答

3

使用嵌入式JavaScript是不是一个好主意。如果您将标记与逻辑分开,则可以更好地组织它并轻松发现错误。你会马上看到问题,如果你打破你的代码并缩进它:

if ('#basicdetails .email').value ='=' ' ') { 
    return false; 
} else { 
    document.getelementbyid('n.2').click(); 
} 

确实有几个问题。您在if声明中缺少(。那么你需要需要来使用比较运算符,比如======运营商是只是分配。最后你可以知道这个='=' ' '看起来像一团糟,这并不明显意味着什么,再加上不是有效的JavaScript。另外,如果('#basicdetails .email')是为了成为一个jQuery选择器,那么在括号之前缺少$

+0

确实,那里有很多错误。我会用更新的代码修改上面的帖子,因为它仍然不起作用。 – Jascination