Проверка формы JavaScript не работает;что-то не так с атрибутом onsubmit ()? - PullRequest
0 голосов
/ 10 июня 2018

Я не могу понять, что не так с моим кодом, и почему проверка формы просто не срабатывает.Код представляет собой HTML-форму для вставки книг в базу данных.Для простоты я удалил PHP и CSS, но я могу отредактировать их обратно, если это необходимо.

    function validateNewBook() {
	var isbn = document.forms['addNewBook']['isbn'].value;
	var title = document.forms['addNewBook']['title'].value;
	
	if (title == ""){
		alert("Please enter the book's title.");
		return false;
	}
	
	return true;
    }
    <form name="addNewBook" action='#' onsubmit="return validateNewBook()" method="post">
		<section id="controls">
			<input class="button" type="submit" name="save_new_book" value="Save Book"/>
			<input class="button" type="submit" name="browse_books" value="Browse"/>
		</section>
		<section id="input">
			<span>* required field</span>
			<span class="flex-input">
				<label>ISBN</label><input type="text" name="isbn" id="isbn" size=20 value="" /> <span class="errorMessage">*</span> &nbsp;
			</span>
			<span class="flex-input">
				<label>Title</label><input type="text" name="title" size=50 id="title" value="" />
				<span class='errorMessage'>*</span>
			</span>
            </section>
    </form>

Однако, когда я запускаю этот код в своей более полной программе, форма все равно вводит новую книгу в базу данных, даже если поле «Заголовок» пусто.Что происходит?

1 Ответ

0 голосов
/ 10 июня 2018

Это может быть случай, когда пользователь имеет пустое пространство для ввода в поле ввода.Поэтому необходимо отфильтровать это поле ввода с помощью функции обрезки. Например.

title.trim();

Вам необходимо сделать это перед тем, как упомянуть любое выражение.

...