表单提交问题

时间:2009-02-25 07:55:32

标签: php javascript ajax cross-browser

我有一个与mozilla和IE完美搭配的表单,但在Google Chrome上有一个小问题 我使用ajax提交我的表单,没有提交按钮,在IE和Mozilla它的工作正常,但在谷歌浏览器,当我按下输入表单提交和页面重定向到主页面(这是另一个问题页面刷新操作在ajax) 如何在按下回车键的同时停止提交页面?

3 个答案:

答案 0 :(得分:3)

每个事件都有默认操作(按钮会单击,超链接会将您带到某处),在您的情况下,表单元素上的ENTER将提交表单。可以防止这种行为。浏览器与它们的实现不同,以防止此默认操作,但jQuery或MooTools等工具可以帮助您解决此问题。

可在此处找到有关如何进行的详细信息:

http://www.quirksmode.org/js/events_early.html#link4

想法是在表单元素上写一个onsubmit处理程序:

<form id="foo" onsubmit="doYourAjaxThing(); return false">

或者通过javascript将事件监听器附加到您的表单并执行类似的操作(jQuery语法):

$("foo").submit(function(event){
 doYourAjaxThing()      
 event.preventDefault();
});

http://docs.jquery.com/Events/jQuery.Event#event.preventDefault.28.29

答案 1 :(得分:1)

从提交表单的函数返回false。

答案 2 :(得分:1)

$("input").keypress(function (e) {
    if (event.keyCode == 13) {
        //Put whatever you would rather happen here........
        return false;    //this cancels the SUBMIT action
    }
});
祝你好运,帕特里克