我想让用户输入至少一个选项。从我的代码中,用户需要输入所有输入。任何人都可以检查我的代码有什么问题吗?
JSP
<form role="form" method="POST" id="search" action="Servlet"
onsubmit="return validateForm();">
<label>Name</label>
<input name="name">
<label>ID</label>
<input name="id">
<label>no</label>
<input name="no">
<button type="submit">Search</button>
</form>
的javascript
function validateForm() {
var name = document.forms["search"]["name"].value;
var id = document.forms["search"]["id"].value;
var no = document.forms["search"]["no"].value;
if ( (name == null || name == "") || (id == null || id == "") || (no == null && no == "")) {
alert("Please enter either one to perform search");
return false;
}
}
答案 0 :(得分:1)
只需进行一点逻辑调整即可:
if (
(name != null || name != "") ||
(id != null || id != "") ||
(no != null && no != "")
) {
这就是说,如果任何一个字段都有值,请继续。
答案 1 :(得分:0)
function validateForm() {
var name = document.forms["search"]["name"].value;
var id = document.forms["search"]["id"].value;
var no = document.forms["search"]["no"].value;
if ( (name == null || name == "") && (id == null || id == "") && (no == null || no == "")) {
alert("Please enter either one to perform search");
return false;
}
}
或者你会像@isherwood那样做。也可以处理拼写错误,例如不关闭输入标签
应该像这样<input name="no"/>
祝你好运,我希望这会有所帮助