JavaScript表单验证无效; onsubmit()属性有问题吗?

时间:2018-06-10 14:09:27

标签: javascript html forms onsubmit

我无法解决我的代码出了什么问题,以及为什么表单验证根本没有解决。代码是用于将书籍插入数据库的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>

但是,当我在更全面的程序中运行此代码时,即使Title字段为空,表单仍会将新书输入数据库。怎么了?

1 个答案:

答案 0 :(得分:-1)

可能是用户在输入框上输入了空格。因此需要使用trim函数过滤该输入框。例如。

title.trim();

在提及任何表达之前,您需要做。