2011-04-13 185 views
1

时输入我有一个隐藏的提交按钮的问题不会铬提交。我有我使用一个Ajax(jQuery的)聊天输入字段,人们应该输入文字,然后按回车提交。这在Firefox中正常工作,但不是在Chrome中,我认为它会将它视为不在那里。隐藏提交按钮被按下

我用下面的代码:

而且我用这个隐藏提交按钮:

$('#CommentChatForm input:submit').hide(); 

这使得HTML看起来像这样:

<div class="submit"> 
    <input type="submit" value="Submit" style="display: none;"> 
</div> 

我也加入顶部以下使用按键()尝试:

$('#CommentMessage').keypress(function(e){ 
    if(e.which == 13){ 
     $('#CommentChatForm').submit(); 
    } 
}) 

这使得它在Chrome中正常工作,但在Firefox它导致它,而不是提交一次两次。

回答

4

如果您使用的按键处理你将不再需要隐藏的提交按钮,所以只是将其删除。

+0

非常感谢,删除了按钮,并添加了按键处理程序,它现在完美工作。 – 2011-04-13 08:39:32

-1

对我的作品在Chrome

http://jsfiddle.net/qEAeN/

可能需要仔细检查您的js

+0

我也可以证实这一点。 – Alex 2011-04-13 08:09:00

+1

对于后来者:这是因为有一个文本输入,这是规范的一部分。 (请参阅http://stackoverflow.com/questions/1370021。)[此示例有2个输入](http://jsfiddle.net/qEAeN/98/)不起作用。 – cmbuckley 2013-03-28 16:16:24

0

如果你不想显示它,那么就不要在html中添加它。

HTML:

<form id="form" onsubmit="my_submit()"> 
<input type="text" id="msg" /> 
</form> 

的javascript:

function my_submit(){ 
    var msg = $('#msg').val(); 
    .... 
    submit_on_my_own(msg); 
    ... 
    return false; 
} 
8

有时你不必通过一些小部件或模块生成HTML的控制,所以你的CSS样式的东西。我也是如此。如果发现在Chrome中,如果您使用

visibility:hidden;

它的工作原理,但如果你不使用

display:none;

在Firefox中它仍然可以正常工作。希望这对别人有帮助。

0

我这样做,没有提交按钮。

$(document).ready(function() 
{ 
    $('#Username').keypress(function(e){ 
     if(e.which == 13){ 
      $('#CheckLogin').submit(); 
      } 
     }); 
    $('#Password').keypress(function(e){ 
     if(e.which == 13){ 
      $('#CheckLogin').submit(); 
      } 
     }); 
});