簡體   English   中英

如何在按下回車鍵或返回鍵時阻止表單提交?

[英]How to block form submission when the enter key or return key is pressed?

我有一個表單,我使用JQuery,我不認為我需要在這篇文章中放置代碼,問題是非常基本的。

但是當人們按下回車鍵或返回鍵時,我想阻止表單提交。

同時,我有textareas,用戶需要能夠按Enter / Return鍵。

一個快速而討厭的黑客,但通常比在每個字段中阻止按鍵更可靠:添加:

<input type="submit" onclick="return false;" />

在表格的頂部。 表單中的第一個提交充當默認按鈕,用於在當前瀏覽器中按Enter時,因此通過中斷它可以防止發生輸入提交。

然后使用CSS隱藏和/或移動按鈕,使其無法看到。

但是,阻止輸入提交並不總是一個好主意; 它是瀏覽器預期工作的標准方式,而且有些用戶確實需要它。

在文檔級別設置一個標志,submitform = false; 驗證提交的內容。 更改提交按鈕的onclick處理程序中的標志。

你不能在表單中添加一個onsubmit屬性,然后檢查它是否是使用回車鍵提交的?

你可以試試這個

jQuery(document).ready(function(){
   validSubmit = false;
})

jQuery('myForm textarea').keypress(function(e) {
   if (e.which == 13) {
      validSubmit = true; // if the pressed key is enter, then allow submissions
   }
})

jQuery('myForm').submit(function(){
   if (!validSubmit) {
      return false;  //if submitting the form is not allowed, then cancel submission
   }
})

除非在textarea上按下回車鍵/返回鍵,否則這將取消所有提交。 如果您使用的是按鈕,則還需要添加一個功能。

jQuery('form button.validSubmit').click(function(){  //or 'form input[type="submit"]'
   validSubmission = true;
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM