backbone keydown提交表单而不是调用所需的函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了backbone keydown提交表单而不是调用所需的函数相关的知识,希望对你有一定的参考价值。
我正在尝试使用keydown(enter)提交表单并通过我想要的函数发送它。但是当我按下回车键时,它会显示一个行为,就像提交html按钮的类型一样。这是我的BackboneJS代码:
$view.UserProfile_ConfirmPhoneNumber = Backbone.View.extend({
el: "#confirmPhoneNumberForm",
events: {
"click #send-confirm-phone-number-code": "sendConfirmPhoneNumberCode",
'keydown': 'keyAction',
},
keyAction: function (e) {
var code = e.keyCode || e.which;
if (code == 13) {
sendConfirmPhoneNumberCode();
}
},
sendConfirmPhoneNumberCode: function() {
//some code
}
这是我的HTML:
<form class="newRegister-formBox basketForm" id="confirmPhoneNumberForm" autocomplete="off">
<input type="hidden" id="returnUrl" value="@ViewBag.ReturnUrl" name="ReturnUrl">
<div class="newRegister-formBox">
<div class="formElement newRegister-input">
<i class="fa fa-key loginIcone"></i>
<input autocomplete="off" type="text" name="code" id="code" class="form-control persianDigitInput" placeholder="enter code">
</div>
<div class="newRegister-button">
<button type="button" id="send-confirm-phone-number-code" class="animateBtn greenAnimateBtn">
<i class="fa fa-check"></i>
confirm
</button>
</div>
</div>
</form>
答案
尝试
keyAction: function (e) {
var code = e.keyCode || e.which;
if (code == 13) {
e.preventDefault();
sendConfirmPhoneNumberCode();
return false;
}
},
以上是关于backbone keydown提交表单而不是调用所需的函数的主要内容,如果未能解决你的问题,请参考以下文章
createElement 按钮似乎提交表单而不是函数调用[重复]
模型未在表单提交时更新,使用 Backbone + Stickit
Backbone.js - 在视图处于活动状态时添加 keydown 事件?