問題:文本框輸入完成後點擊回車頁面刷新問題出在form上,當表單中只有一個文本框的時候獲取焦點並點擊回車之後會提交表單內容,就會發生刷新事件。 解決方法: 1、增加一個隱藏的輸入框 增加了一個隱藏的輸入框之後,表單的文本框不再是唯一的,回車不會觸發提交事件 2、去掉輸入框的回車事件 但是有的需求又要 ...
問題:文本框輸入完成後點擊回車頁面刷新
問題出在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>