Я добавляю валидацию данных к моему коду. Я хочу, чтобы заголовок события не был пустым, и введенный почтовый индекс действителен. Javascript не работает. Можешь мне сказать почему?
<form name="form1" action="organize.php" onSubmit="return validateform1();" method="post" enctype="multipart/form-data">
<div class="form-element">
<label for="event_title">Event Title</label>
<input type="text" name="event_title" id="dob" />
</div>
<div class="form-element">
<label for="zip">Zip Code</label>
<input type="text" name="zip" id="dob" />
</div>
<script language="javascript">
function validateform1(){
var zipcode = /^\+?([0-9]{2})\)?[-. ]?([0-9]{4})[-. ]?([0-9]{4})$/;
if(document.form1.event_title.value==""){
alert("Enter a title");
return false;
}
else if((!document.form1.zip.value.match(zipcode)){
alert("wrong zip format");
return false;
}
</script>
</form>
Вероятно, это не помогает тому, что ваше id="dob"
поле имеет id="dob"
, но я думаю, что основная проблема заключается в том, что в вашей функции отсутствует закрытие }
, а ваше else if ((
имеет дополнительный (
.
function validateform1() {
var zipcode = /^\+?([0-9]{2})\)?[-. ]?([0-9]{4})[-. ]?([0-9]{4})$/;
if (document.form1.event_title.value == "") {
alert("Enter a title");
return false;
} else if (!document.form1.zip.value.match(zipcode)) {
alert("wrong zip format");
return false;
}
}
вы пропустили закрытие )
в этой строке:
else if((!document.form1.zip.value.match(zipcode)) {
должно быть:
else if((!document.form1.zip.value.match(zipcode))) {
или:
else if(!document.form1.zip.value.match(zipcode)) {
Всегда нужно видеть консоль браузера. Вы можете видеть подсказку, чтобы избавиться от ваших проблем.