我无法解决我的代码出了什么问题,以及为什么表单验证根本没有解决。代码是用于将书籍插入数据库的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>
</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>
但是,当我在更全面的程序中运行此代码时,即使Title字段为空,表单仍会将新书输入数据库。怎么了?
答案 0 :(得分:-1)
可能是用户在输入框上输入了空格。因此需要使用trim函数过滤该输入框。例如。
title.trim();
在提及任何表达之前,您需要做。