使用不同功能的onsubmit多于1个表单

时间:2013-09-20 14:05:36

标签: javascript html validation onsubmit

我有2个表单,一个用于电子邮件,一个用于电话号码,我在a中创建了2个函数来验证电子邮件和PhoneNumber,但是当我提交它时只使用与First Form相关联的Function。

我实际上可以在第一个和第二个表单之间进行交换,并且始终只运行代码中第一个表单,但另一个表单永远不会运行。

<script type="text/javascript">

function validatePhone()
{
var y=document.forms["MyPhone"]["PhoneN"].value;
var Pholen=y.length
if (Pholen < 10)
  {
  alert("Number must be at last 10 Chars");
  return false;
  }
}

function validateForm()
{
var x=document.forms["MyMail"]["mailN"].value;
var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)
  {
  alert("Not a valid e-mail address");
    return false;
  }
}
</script>

<form name='MyPhone' onsubmit="return validatePhone()" method="post">Phone*: <input type="number" maxlength="10" name='PhoneN' onkeyup="this.value = this.value.replace(/[^0-9]/, '')"  size="16">

<form name='MyMail' onsubmit="return validateForm()" method="post">Your Email*: <input type="character" name='mailN' size="16">

1 个答案:

答案 0 :(得分:0)

也许你可以尝试这样的事情

<form name='MyForm' onsubmit="validatePhone();validateForm();" method="post">
  <label for="PhoneN">Phone*:</label>
  <input type="number" maxlength="10" name='PhoneN' onkeyup="this.value = this.value.replace(/[^0-9]/, '')" size="16">
  <label for="mailN">Your Email*:</label>
  <input type="text" name='mailN' size="16">
  <button name="submit" type="submit">Submit</button>
</form>