有人可以解释一下为什么这段代码不起作用:
$('form').on('submit', function (e) {
e.preventDefault();
var first = $('.first').val();
var next = $(".next").val();
alert(first + " " + next);
});
http://jsfiddle.net/cj1hysf3/ http://jsfiddle.net/cj1hysf3/
当我删除两个输入之一时,它似乎工作正常,但同时将它们都放在那儿会搞砸。
您需要一个提交按钮。如果需要,您可以隐藏它,但要让 Enter 默认提交表单,它需要存在。
$('form').on('submit', function (e) {
e.preventDefault();
var first = $('.first').val();
var next = $(".next").val();
alert(first + " " + next);
});
input[type="submit"] {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<form>
<input type="text" name="a" class="first" placeholder="Enter First" />
<input type="text" name="s" class="next" placeholder="Enter Next" />
<input type="submit" value="submit" />
</form>
来自 W3C http://www.w3.org/TR/html5/forms.html#implicit-submission:
“如果表单没有提交按钮,那么如果表单有多个提交按钮,则隐式提交机制必须不执行任何操作阻止隐式提交的字段,并且必须从表单元素本身提交表单元素,否则。”
“就上一段而言,一个元素是一个阻止隐式提交的字段表单元素的属性,如果它是一个输入元素,其表单所有者是该表单元素并且其 type 属性处于以下状态之一:Text,[...]”
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)