我有一个类似的表单
<form action="index.php" method="get">
<input type="hidden" name="id" value="1">
<input type="hidden" name="order_by" value="">
<button type="submit">Submit</button>
</form>
它有一些jQuery处理程序来填充"order_by
"字段。如果我提交的表格中有空的"order_by
",我会得到这样的地址:index.php?id=1&order_by=
如果"order_by
"为空,那么在提交表格后,我能做的最好的方法是什么:index.php?id=1
?
您可以禁用空字段,这样它们就不会被添加为数据
$('form').submit(function(e){
var emptyinputs = $(this).find('input').filter(function(){
return !$.trim(this.value).length; // get all empty fields
}).prop('disabled',true);
});
在php中,您可以这样做
if(!isset($_GET['order_by']) || !$_GET['order_by'])
return 'error msg';
或
if(empty($_GET['order_by']))
return 'error msg';
像这个一样更改html
<form action="index.php" method="get" onsubmit="return valid()">
<input type="hidden" name="id" value="1">
<input type="hidden" name="order_by" id="order_by" value="">
<button type="submit">Submit</button>
</form>
javascript:
function valid(){
if(!$('#order_by').val()){
alert("Order by not found");
return false;
}
return true;
}
$('form#formID').submit(function(e){
var emptyinputs = $(this).find('select').filter(function(){
return !$.trim(this.value).length;
}).prop('disabled',true);
var emptyinputs = $(this).find('input').filter(function(){
return !$.trim(this.value).length;
}).prop('disabled',true);
});
您可以禁用空字段(选择和输入),这样它们就不会作为数据添加,也可以禁用自定义表单id。