html中submit和button的區別/ window.location.href 不跳轉 的問題

 

  <input type="button">  <input type="submit">ajax

這兩個的區別 是瀏覽器

button 不會自動提交表單數據,只會執行 onclick 裏面的事件處理,若是要提交數據,須要加上 document.form1.submit(); 等dom

submit 會自動提交表單數據,使用它的時候要加上驗證 ,放回 驗證  return ture ; 或 return false;異步

<input type="submit" name="Submit" value="註冊" onClick=" return check(); " >orm

<script>事件

 funciotn check()ip

{ci

  驗證 知足條件 return ture; get

         不知足條件 return false;input

}

</script>

[     <asp:Button OnClick=""  OnClientClick="return check()" >

 服務端控件 能夠加上 OnClientClick 驗證。    ]

須要注意的是  <button> </button> 控件 有特殊狀況,在Internet Explorer 的默認類型是「button」 ,而在其餘瀏覽器中 的默認值時 「Submit」 ,用 button 時,要加的規定 Type 值。

可是用到 異步操做, 如 $.ajax()  ,success 後 會跳轉頁面,當 type=「submit」 時, 沒有加驗證,執行完 $.ajax () 後,並不會跳轉,  會自動提交 表單, 顯示的效果就是 刷新了一下, 並不會 跳轉到其餘頁。

例如:

  $("#save").click(function () {
                var supplyvalues = jQuery.map($landlordsupply.filter(":checked"), function (a) {
                    return $(a).val();
                })
 
                $.getJSON("/WebServer/AddHouseInfo.ashx", { "type": "addhousefacility", "facility": supplyvalues.join() }, function (r) {
                    if (r.err == "0") {
                        alert("發佈成功");
                        window.location = "SubmitHouse.aspx?ti=" + Math.random();
                    }
                    else {
                        alert(r.err);
                    };
                });
 
                return false; // 必須加上 這句話,纔不會繼續提交表單, 而且這句話不能加到                            //getJSON() 裏面, 異步 加到裏面沒有做用,只有異步執行完後                               // 加上這句話,作出判斷,不會繼續執行 Submit.
 
            })
相關文章
相關標籤/搜索