Javascript 按钮';在文本输入元素处按enter键时,始终调用s函数
此代码表示一个html标记,用户可以在其中向其个人资料中添加一个或多个电话。因此,我使用主干添加文本字段,用户可以在其中指定它们Javascript 按钮';在文本输入元素处按enter键时,始终调用s函数,javascript,jquery,html,backbone.js,Javascript,Jquery,Html,Backbone.js,此代码表示一个html标记,用户可以在其中向其个人资料中添加一个或多个电话。因此,我使用主干添加文本字段,用户可以在其中指定它们 <form method="post" class="form-horizontal" action=".."> <!-- Here I have another text input controls --> <!-- START: backbone view --> <div id="phones
<form method="post" class="form-horizontal" action="..">
<!-- Here I have another text input controls -->
<!-- START: backbone view -->
<div id="phones">
<div class="phones-container">
<!-- New phone template [label, text input] -->
</div>
<!-- Add phone template button -->
<button id="btn-add-phone">Add another phone</button>
</div>
<!-- END: backbone view -->
</form>
问题出在哪里?如果用户在任何文本字段按Enter键,无论它在视图范围之内还是之外,出于某种原因,onAddPhoneTemplate()
函数将再次调用,并将另一部手机的模板添加到视图中
- enter键上的预期行为是不执行任何操作,控制台的输出:
enter key
- 然而,按下回车键后,我在控制台上看到:
onAddPhoneTemplate() enter key
type=button
默认情况下,按钮为type=submit
,除非另有规定,否则当按钮放置在表单中时,将触发表单提交
当表单中存在type=submit
时,点击enter
也将触发表单提交
<button type="button" id="btn-add-phone">Add another phone</button>
添加另一部手机
我从没想过问题就在那里。我扫描了我的主干代码至少一个小时。非常感谢,祝你过得愉快没问题。。。我知道这条规则,但有时还是会因为弄乱它而打自己一巴掌。这是在起作用。和环境一样,但不同,所以不是完全重复。
onAddPhoneTemplate()
enter key
<button type="button" id="btn-add-phone">Add another phone</button>