我遇到隐藏提交按钮的问题。我有一个用于Ajax(jQuery)聊天的输入字段,人们应该输入文本并按Enter键提交。这在Firefox中运行良好,但在Chrome中不行,我认为它将其视为不存在。
我正在使用以下代码:
$('#CommentChatForm').submit(function(event){
...
}
我用它来隐藏提交按钮:
$('#CommentChatForm input:submit').hide();
这使得HTML看起来像这样:
<div class="submit">
<input type="submit" value="Submit" style="display: none;">
</div>
我还尝试使用keypress(),在顶部添加以下内容:
$('#CommentMessage').keypress(function(e){
if(e.which == 13){
$('#CommentChatForm').submit();
}
})
这使得它在Chrome中运行良好,但在Firefox中它会导致它提交两次而不是一次。
答案 0 :(得分:8)
有时您无法控制某些小部件或模块生成的HTML,因此您可以使用CSS设置样式。这也是我的情况。如果发现在Chrome中,则可以使用
visibility:hidden;
但如果你使用
则不行 display:none;
在FireFox中,无论哪种方式都可以。希望这会对某人有所帮助。
答案 1 :(得分:4)
如果您使用按键处理程序,则不需要隐藏的提交按钮,因此只需将其删除即可。
答案 2 :(得分: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;
}
答案 3 :(得分:0)
我这样做,没有提交按钮。
$(document).ready(function()
{
$('#Username').keypress(function(e){
if(e.which == 13){
$('#CheckLogin').submit();
}
});
$('#Password').keypress(function(e){
if(e.which == 13){
$('#CheckLogin').submit();
}
});
});
答案 4 :(得分:-1)