MVC非常新,并试图弄清楚如何将处理程序附加到提交按钮,这样用户就不必单击提交按钮。
我有以下JavaScript:
//fix to add submit to the enter button
function keypressHandler(e) {
if (e.which == 13) {
e.preventDefault(); //stops default action: submitting form
$(this).blur();
$('#btnLoginSubmit').focus().click();//give your submit an ID
}
}
$('#myForm').keypress(keypressHandler);
这是_Layout.cshtml页面的标记:
<div ng-controller="LoginController">
<script type="text/ng-template" id="loginForm.html">
<div class="modal-header">
<h3>Please log in</h3>
</div>
<form ng-submit="submit()">
<div class="modal-body">
<label>User name</label>
<input type="text" ng-model="user.userId" />
<label>Password</label>
<input type="password" ng-model="user.password" />
</div>
<div class="modal-footer">
<button class="btn btn-warning" ng-click="cancel()">Cancel</button>
<input type="submit" class="btn primary-btn" value="Submit" />
</div>
</form>
</script>
我很难弄清楚如何将脚本附加到实际的提交按钮。我添加了一个id,但JS正在寻找表单名称(我知道它不是myForm),它似乎没有在任何地方定义。感觉这应该很容易,但我错过了一些东西。
答案 0 :(得分:2)
您需要form
id
:
<form id="myform" ng-submit="submit()">
但此外,您只需提交表单本身:
function keypressHandler(e) {
if (e.which == 13) {
e.preventDefault(); //stops default action
$('#myform').submit();
}
}
然后最后,你真的需要把它连接到文档:
$(document).keypress(keypressHandler);