如何在php或javascript中禁用文本框回发

时间:2013-02-07 08:51:16

标签: php javascript html forms postback

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

当我在文本框中按回车键时,该页面被回复。我有一个通过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 个答案:

答案 0 :(得分:2)

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

<form ... onsubmit="return false;">

答案 1 :(得分: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;
    }
  });
});

答案 2 :(得分:0)

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

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

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

var okToSubmit=false;
function save(){
// ... your code
  okToSubmit=true;
// form.submit();
}

答案 3 :(得分: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>