0

我有一个表单元素,里面有一些内容,如下所示。

<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-if 阶梯的最后一个 else 块包含将数据发布到 insertserverdata.php 的代码。我的意图是仅当两个文本字段填充了一些数据时才重定向到 insertserverdata.php。但是当我单击提交按钮时,文本字段中没有文本,jquery 的 if 块将正常工作,之后它将重定向到 insertserverdata.php 页面,但我不想要那个。我需要什么更改才能完全填充? . 请朋友们帮帮我。

4

3 回答 3

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'

于 2013-05-27T06:43:47.570 回答
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;
});
于 2013-05-27T06:48:27.397 回答
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.
    }
});
于 2013-05-27T06:49:18.323 回答