2个表单的条件逻辑,一个提交

时间:2010-10-05 02:20:09

标签: jquery

在Nick Craver的帮助下,我现在能够有两个表单,两个单独的PHP处理脚本使用一个提交按钮。我需要对此进行一些扩展。我需要它才能工作,这样如果你在输入#retUser中有一个值,它就会使用formOne动作提交。如果你在#fname&&中有一个值#lname&& #email1它使用formTwo Action提交。如果任何字段中没有值,则返回警报。

  <form name="returning" method="post" action="PHPscript1.php">
  <label>Are you a returning user? Please Enter Your Key</label>
  <input type="text" name="retUser" id="retUser" />
  </form>
  </div>

  <div id="formTwo">
  <form name="newUser" method="post" action="PHPscript2.php">
  <label>Are you a new user? Register here</label>
  <label>First Name</label>
  <input type="text" name="fname" id="fname" />
  <label>Last Name</label>
  <input type="text" name="lname" id="lname" />
  <label>Email</label>
  <input type="text" name="email1" id="email1" />
  </form>
  </div>

  <div id="submitContain">
  <input type="submit" id="sbtBtn" value="submit" />
  </div>

我将提交功能拆分为两个独立的功能,以便稍后再添加验证。

$("#formOne").submit(function() {
alert("Trying to submit to: formOne");
return false;
});

$("#formTwo").submit(function() {
alert("Trying to submit to: formTwo");
return false;
});

$("#sbtBtn").click(function() {
if($("#retUser").val()) {      //check if #retUser has a value
$("#formOne").submit();
} else if ($("#fname").val() && $("#lname").val() && $("#email1").val()) {
$("#formTwo").submit();
}
});

我无法得到的是“如果任何字段中没有值返回警报” THX

1 个答案:

答案 0 :(得分:3)

认为你最后的目标是另一个else,如下:

$("#sbtBtn").click(function() {
  if($("#retUser").val()) {
    $("#formOne form").submit();
  } else if ($("#fname").val() && $("#lname").val() && $("#email1").val()) {
    $("#formTwo form").submit();
  } else {
    alert("Please fill in something");
  }
});

另请注意更改后的选择器,因为<form>元素里面带有ID的<div>元素。