У меня есть две формы: одна для электронной почты и одна для звонящего по номеру, я создал 2 функции внутри a для проверки электронной почты и номера телефона, но когда я отправляю ее, она использует функцию, связанную с первой формой.
Я могу поменять местами между первой и второй формами и всегда будет запускать только то, что приходит первым в коде, но другое никогда не будет работать.
<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">
Может быть, вы могли бы попробовать что-то вроде этого
<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>