在jquery驱动的表单上禁用enter键

时间:2010-12-01 13:56:49

标签: php jquery webforms

我有一个表单,使用jQuery插件表单来发布数据。在我处理数据的例子中,这个数据被用于另一个用于重命令数据库的php文件,并回显一个显示在from下面的结果。

代码可以很好地处理一个故障。如果在选择文本字段时按Enter键,则清除所有内容,包括已写入屏幕的结果。是否可以禁用输入密钥并阻止它执行此操作?

FORM:

<html>
<head>
</head>
<p>enter code here
<form name="form" action="" method="">
  <label for="name" id="name_label">Name</label> 
  <input type="text" name="name" id="name"/>
  <input type="button" value="get" onclick="get();"/>
</form>

<div id="age"></div>
</p>
</body>
</html>

SCRIPT:

function get() {
    $.post('data.php', {name: form.name.value},
        function(output) {
            $('#age').hide().html(output).fadeIn(1000);
        });
    }
}

干杯。

3 个答案:

答案 0 :(得分:2)

您应该考虑使用jQuery Forms Plugin。它可以避免你做一些肮脏的工作,另外它会拦截提交表单的所有方式 - 所以不必禁用RETURN键,它将通过AJAX提交你的表单。

如果您不想这样,请删除带有onclick事件的按钮并将其替换为提交按钮,并将您的功能注册为onsubmithandöer:

$('form[name=form]').submit(function(e) {
    e.preventDefault();
    $.post('data.php', {name: form.name.value},
        function(output) {
            $('#age').hide().html(output).fadeIn(1000);
        });
    }
});

答案 1 :(得分:1)

$(document).ready(function(){   
    $('form').submit(function(){
        return false;
    });
});

这会阻止表单提交,但是对于禁用了javascript的用户,表单根本不起作用。

答案 2 :(得分:-1)

发现了一些问题并解决了这个问题。

我只是在我的Jquery代码之前放入它以禁用输入按钮。

$(function(){         $('input')。keypress(function(e){             var code = null;             code =(e.keyCode?e.keyCode:e.which);             return(代码== 13)? false:是的;         });     });