form表單提交事件


1.onsubmit屬性。如果設置form表單的onsubmit='return false',這個form表單用submit按鈕是無法提交的。

<form onsubmit="return false" action="/doaction" id="myForm" method="post">
    <input type="text">
    <input type="text">
    <button  type="submit">提交</button>
</form>

return false:阻止了元素本身默認事件,阻止了冒泡。

2.html.submit()表單提交。

<form onsubmit="return false" action="/doaction" id="myForm" method="post">
    <input type="text">
    <input type="text">
    <button  onclick="login()">提交</button>
</form>
<script>
    function login () {
        document.getElementById('myForm').submit()
    }
<script>

這個方法可以忽略return false,參考鏈接解釋:https://developer.mozilla.org/zh-CN/docs/Web/API/HTMLFormElement/submit

這時候表單可以提交。

遇到的問題,當監聽回車事件時,會發現出現兩次請求,第一次請求被很快canceled,需要在回車方法中把form表單的默認方法再一次禁掉。

function keyLogin(evt) {
    evt = (evt) ? evt : ((window.event) ? window.event : "");
    var key = evt.keyCode?evt.keyCode:evt.which;
    if(key == 13){
        evt.preventDefault();
        login();
    }
}

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM