我有一个表单元素,里面有一些内容,如下所示。
<form action="insertserverdata.php" id="toPopup">
<table>
<tr>
<td>IP address:</td>
<td><input type="text" id="ip" /></td>
</tr>
<tr>
<td>Port:</td>
<td><input type="text" id="port" /></td>
</tr>
<tr>
<td></td>
<td>
<input type="submit"/>
</td>
</tr>
</table>
</form>
以及以下jQuery代码。
$("#toPopup").submit(function(event){
if($('#ip').val()=="") {
alert("IP field is Empty");
}else if($('#port').val()=="") {
alert("Port field is Empty");
}else {
//else code to be executed.
}
});
此处此else的最后一个else块 - 如果梯形图包含用于将数据发布到insertserverdata.php的代码。我的意图是只有在两个文本字段填充了一些数据时才重定向到insertserverdata.php。但是当我单击提交按钮时,文本字段中没有文本,jquery的if块将正常工作,之后它将重定向到insertserverdata.php页面,但我不想要那个。我需要完全填充哪些更改? 。请帮帮我朋友。
答案 0 :(得分:4)
尝试在每个无效支票上返回 false ,例如
$("#toPopup").submit(function(event){
if($('#ip').val()=="") {
alert("IP field is Empty");
return false;
}else if($('#port').val()=="") {
alert("Port field is Empty");
return false;
}
//Do the stuff
});
还有一件事,将你的html中的两个文本框的id更改为'ip'和'port'
答案 1 :(得分:2)
试试这个,
$("#toPopup").submit(function(event){
event.preventDefault();
if($('#ip').val()=="") {
alert("IP field is Empty");
}else if($('#port').val()=="") {
alert("Port field is Empty");
}else {
//else code to be executed.
return true;
}
return false;
});
答案 2 :(得分:0)
尝试以下两个应显示错误消息然后返回true而不是显示一个或另一个错误消息(如果两个都为空)。
$("#toPopup").submit(function(event){
var errors = false;
if($.trim($('#ip').val())=="") {
alert("IP field is Empty");
errors = true;
}
if($.trim($('#port').val())=="") {
alert("Port field is Empty");
errors = true;
}
if(errors){
return false;
}else{
//else code to be executed.
}
});