提交后,我希望将用户重定向到另一个页面,其中包含url中输入的值。现在,当没有价值时,我希望它什么都不做(返回false)。我怎么能这样做?
我目前的代码:
<form action="" method="post" class="searchInput">
<input type="text" placeholder="Search anything you want..." name="search" id="search" />
<button name="btnsearch" id="btnsearch" onclick=" window.location = '<?php echo base_url("index.php/search/index")?>/'+document.getElementById('search').value; return false;">
Search</button>
</form>
答案 0 :(得分:3)
你有两种方法可以做到这一点。 使用JavaScript:
function validateForm() {
var x = document.forms["myForm"]["nameField"].value;
if (x == null || x == "") {
alert("Name must be filled out");
return false;
}
}
&#13;
<form name="myForm" action="demo_form.asp" onsubmit="return validateForm()" method="post">
Name: <input type="text" name="nameField">
<input type="submit" value="Submit">
</form>
&#13;
或者您可以使用HTML5必需属性:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>HTML 5 Form Validation</title>
</head>
<body>
<form action="">
Username: <input type="text" name="username" required>
<input type="submit">
</form>
</body>
</html>
&#13;
现在由你决定! :d
答案 1 :(得分:1)
您可以使用HTML 必需的属性来执行此操作。看起来好像用javascript来处理它。就像这样:
http://jsbin.com/xumaxilowo/1/edit?html,css,output
<form action="">
Username: <input type="text" name="usrname" required>
<input type="submit">
</form>
答案 2 :(得分:1)
这是JS解决方案,服务器上不会发布任何帖子。 (但此代码需要在php文件中)
<form action="" method="post" class="searchInput">
<input type="text" placeholder="Search anything you want..." name="search" id="search" />
<button name="btnsearch"
id="btnsearch"
type="button"
onclick="redirect();"
>Search</button>
</form>
这里是js
function redirect() {
var value = document.getElementById('search').value;
if (value !== '') {
window.location = '<?php echo base_url("index.php/search/index")?>/' +
document.getElementById('search').value;
}
}
答案 3 :(得分:0)
如果您今年在寻找答案,可以使用
注意:如果数组为空,它将返回true
,对于这种特殊的边缘情况,您可以随时检查array.length
;
return new Boolean(array) && array.length > 0;
有关更多信息,请检查https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean