<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. })