form表單input回車提交問題


問題:文本框輸入完成后點擊回車頁面刷新
問題出在form上,當表單中只有一個文本框的時候獲取焦點並點擊回車之后會提交表單內容,就會發生刷新事件。

解決方法:

1、增加一個隱藏的輸入框

<input itype="text" style="display:none" />

增加了一個隱藏的輸入框之后,表單的文本框不再是唯一的,回車不會觸發提交事件

2、去掉輸入框的回車事件

<input type="text"  onkeydown="return ClearSubmit(event)" />
function ClearSubmit(e) {
    if (e.keyCode == 13) {
        return false;
    }
}

但是有的需求又要有回車事件,視情況選擇

3、阻止表單默認提交事件

如果 onsubmit 句柄返回 fasle,表單的元素就不會提交。如果該函數返回其他值或什么都沒有返回,則表單會被提交。

        由於 onsubmit 句柄可以取消表單的提交,所以它對於進行表單驗證是十分理想的;

        這樣的話,修改form的onsubmit事件可以讓敲入回車的時候執行我們想要的操作而不跳轉到action所指定的url,如下

<form action="myurl" onSubmit="fun1();return false;">

  

變種:element官方解決方案:在el-from 加上 @submit.native.prevent

<el-form :inline="true"  class="demo-form-inline"  @submit.native.prevent>
    <el-form-item label="名稱:" style="margin-bottom:0">
    <el-input placeholder="名稱" @keyup.enter.native="doFilter(5)"  v-model="likeName"></el-input>
    </el-form-item>
    <el-form-item style="margin-bottom:0">
    <el-button class="btnCheck" @click="doFilter(5)"  style="margin-bottom:0">查詢</el-button>
    </el-form-item>
</el-form>

 


免責聲明!

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



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