Ember.js TextField操作提交表单
Ember.js TextField action submits form
我有以下表格:
<form class="form-horizontal" {{action "formSubmit"}}>
<div class="form-group">
<label>User:</label>
{{input type="text" value=user action="findUser"}}
</div>
<div class="form-group">
<label>Notes:</label>
{{input type="text" value=notes}}
</div>
<button type="submit" class="btn btn-primary">Save</button>
</form>
正如你所注意到的,我对这个表单有两个操作:
- 当我在用户输入字段上键入并按enter键时,它会触发
findUser
操作 - 当表单提交时,会调用
formSubmit
操作
现在,问题来了
当我在用户文本字段上键入内容并按enter键时,它会触发findUser
操作,但也会触发formSubmit
。正如我所知,这就是一个表单的正常行为。当您在文本字段上按enter键时,它会提交表单。
是否有解决此行为的方法?当我在用户文本字段上按enter键时,我希望触发findUser
操作,但不提交表单。
请帮忙。
一个解决方法是删除表单本身。您可以对按钮进行操作。您可能不得不牺牲一些与表单相关的功能,但仍然可以很好地工作。这是jsbin。
http://emberjs.jsbin.com/nifim/2/edit
也许还有其他更好的方法。
<div class="form-group">
<label>User:</label>
{{input type="text" value=user action="findUser" bubbles=false}}
</div>
<div class="form-group">
<label>Notes:</label>
{{input type="text" value=notes}}
</div>
<button type="submit" class="btn btn-primary" {{action "formSubmit"}}>Save</button>
和javascript
App.IndexController = Ember.Controller.extend({
actions: {
findUser: function(){
console.log('Find User');
},
formSubmit: function(){
console.log('Form Submit');
}
}
});
允许使用以下表单的另一种解决方法:
http://emberjs.jsbin.com/povud/1/
只需将'onkeypress="return event.keyCode!=13;"'添加到表单元素中,并将{{action}}放在按钮本身上:
<form class="form-horizontal" onkeypress="return event.keyCode != 13;">
<div class="form-group">
<label>User:</label>
{{input type="text" value=user action="findUser"}}
</div>
<div class="form-group">
<label>Notes:</label>
{{input type="text" value=notes}}
</div>
<button class="btn btn-primary" {{action "formSubmit"}}>Save</button>
</form>
相关文章:
- Jquery提交表单而不刷新
- 如何在提交表单时将PHP变量传递到Javascript cookie中
- 每次提交表单时都会重新加载网页
- Razor中的自动提交表单
- 使用 JavaScript 自动提交表单
- 点击相同的按钮打开模型,然后提交表单
- 添加和删除隐藏字段数组中的值,而不提交表单
- 使用Ajax提交表单
- jQuery:使用“jQuery验证”后无法提交表单's远程验证
- 如何在不重新加载的情况下提交表单,并使用Node+Express将数据传递回同一页面
- 有登录表单时无法提交表单
- 带有select的jquery提交表单不起作用
- 如何防止回车键提交表单,但仍然允许回车工作
- 使用按钮和单选按钮提交表单,但始终使用相同的值
- 在提交表单之前确定重复值
- 如何创建动态ajax提交表单
- HTML提交表单,同时包含空字段检查和按钮隐藏
- 如何使用jQueryAjax使用动态html输入texbox提交表单
- 当触发下拉列表的onchange事件时,使用JavaScript提交表单
- 提交表单后,Watir文本框输入未持续(重置为以前的文本框输入)