我有一个没有提交按钮的表单,如果用户点击回车键时仍然提交表单会很棒。我尝试添加一个隐藏的提交按钮,它在Safari,Firefox和Chrome中提供了所需的行为,但该表单仍未在IE中提交。有没有一种标准的方法呢?
答案 0 :(得分:2)
测试/跨浏览器:
function submitOnEnter(e) {
var theEvent = e || window.event;
if(theEvent.keyCode == 13) {
this.submit;
}
return true;
}
document.getElementById("myForm").onkeypress = function(e) { return submitOnEnter(e); }
<form id="myForm">
<input type="text"/>
...
</form>
如果没有提交按钮,如果javascript不可用,表单将会严重降级!
答案 1 :(得分:2)
使用jQuery(自然地):
$("#myForm input").keyup(
function(event){
if(event.keycode == 13){
$(this).closest('form').submit();
}
}
);
试一试。
答案 2 :(得分:0)
onKeyDown事件的文本框或一些控件调用一个javascript函数并添加form.submit();对函数的陈述。
快乐的编码!!
答案 3 :(得分:0)
这是你的意思吗?
document.myformname.submit();
答案 4 :(得分:0)
这需要JavaScript。如果你不懂语言,使用JavaScript实现这个的最简单方法就是使用类似jQuery的东西(就像inkedmn所说的那样)。
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript" charset="utf-8">
<!--
$(document).ready(function() {
$(document).keyup(function(event){
if(event.keycode == 13){ // This checks that it was the Enter key
$("#myForm").submit(); // #myForm should match the form's id attribute
}
});
});
//-->
</script>
</head>
<body>
<form id="myForm">
...
</form>
</body>
有关jQuery的更多信息: http://docs.jquery.com/Tutorials:How_jQuery_Works#jQuery:_The_Basics
答案 5 :(得分:0)
你知道你可以在那里放一个<button type="submit">submit</button>
并用css改变他的位置,对吧? position:absolute;left:-9999px;
应该做的伎俩。 display:none
将不起作用。
如果未加载js,这也可以。
编辑: 但是,如果您选择使用js,如果您有textarea,请不要忘记不提交。
答案 6 :(得分:0)
这可以通过保持提交输入完整和一些创造性的 CSS 来跨浏览器完成。通过保持输入可用,您还可以保留对屏幕阅读器的支持。
.no-submit-button {
position: relative;
}
.hidden-submit {
border: 0;
clip: rect(0, 0, 0, 0);
height: 1px;
margin: -1px;
padding: 0;
position: absolute;
width: 1px;
}
<form class="no-submit-button">
<input class="hidden-submit" type="submit" value="Submit">
</form>