0

我有一个包含 3 个步骤的联系表格,每个步骤都有自己的“选项卡”,然后通过电子邮件 php 脚本提交。现场版在http://agoodman.com.au/wptest/menswear-porter-service/(点击“BOOK IN 60 SECONDS”)。

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

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

1 回答 1

3

使用内联 JavaScript 从来都不是一个好主意。如果您将标记与逻辑分开,您将能够更好地组织它并轻松发现错误。如果您将代码分解并正确缩进,您将立即看到问题:

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

确实有几个问题。你(if陈述中缺少一个。然后您需要使用比较运算符,例如==or ====运算符用于赋值。最后你可以看出这='=' ' '看起来很乱,这意味着什么并不明显,而且不是有效的 JavaScript。此外,如果('#basicdetails .email')本来是一个 jQuery 选择器,那么您在$括号之前就缺少了。

于 2012-11-10T00:07:40.283 回答