0

如何从文本框中禁用或删除页面回帖?

当我在文本框中按回车键时,页面被回发。我有一个通过 ajax 函数保存数据的按钮。

<form name="test" class="form panel" id="test" method="post">
  <input type="text" name="user" />
  <input type="button" name="save" value="save" onclick="save()"/>
</form>

保存功能运行良好,问题是文本框,

4

4 回答 4

2

如果它是 AJAX 表单,则阻止表单提交:

<form ... onsubmit="return false;">
于 2013-02-07T08:55:26.083 回答
0

你可以简单地做

HTML 解决方案

<form onsubmit="return false;">

JS解决方案

您可以在表单上定义按键处理程序:

document.querySelector('form').onkeypress = checkEnter; 

function checkEnter(e){
 e = e || event;
 var txtArea = /textarea/i.test((e.target || e.srcElement).tagName);
 return txtArea || (e.keyCode || e.which || e.charCode || 0) !== 13;
}

jQuery 解决方案

$(document).ready(function() {
  $(window).keydown(function(event){
    if(event.keyCode == 13) {
      event.preventDefault();
      return false;
    }
  });
});
于 2013-02-07T08:54:41.880 回答
0

在文本框中按 Enter 键是表单的正常行为,当用户在文本框中按 Enter 键以发现没有任何反应时,用户可能会感到困惑。

您可以使用以下脚本阻止提交

<form onsubmit="return okToSubmit;"...

var okToSubmit=false;
function save(){
// ... your code
  okToSubmit=true;
// form.submit();
}
于 2013-02-07T08:56:58.003 回答
0

如果您唯一的想法是阻止文本框的输入事件,这可能会起作用:

<form name="test" class="form panel" id="test" method="post">
<input type="text" name="user" onkeydown="if (event.keyCode == 13) event.preventDefault();"/>
<input type="button" name="save" value="save" onclick="save()"/>
</form>
于 2013-02-07T08:58:38.173 回答