即使if条件失败,POST方法也能正常工作

时间:2013-05-27 06:42:51

标签: php javascript jquery html post

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

<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页面,但我不想要那个。我需要完全填充哪些更改? 。请帮帮我朋友。

3 个答案:

答案 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.
    }
});