定义按回车键时的默认按钮
Defining a default button when pushing enter key
我有一个Grails应用程序,它包含一个.gsp
页面,上面有许多textField
,几个submitToRemote
按钮和几个actionSubmit
按钮。当填写textField
s时,我希望能够在我完成后点击enter,并让它像点击特定的submitToRemote
按钮一样。目前,它的作用就好像我点击了一个特定的actionSubmit
按钮,我从来没有故意指定。
我发现这个:如何触发HTML按钮,当你按下回车在文本框?。这似乎是我想要的,所以我把它改编到我的页面,但它似乎没有做任何事情。
我将放弃发布整个.gsp
,但添加我认为适合这个问题的内容。
这是当前正在激活的按钮:
<br>
<g:hiddenField name="type" value="head"/>
<g:actionSubmit value="Get Reports" action="showReports"/>
<br>
这是我想要激活的按钮:
<g:submitToRemote value="find" url="[action: 'findCustomer']"
update="results" />
所以我所做的是为目标submitToRemote
按钮和1 textField
添加一个id,然后在上面链接页面的脚本周围添加<g:javascript>
标签。它看起来像这样:
<g:textField name="lastName" id="inputTextBox"/>
…
<g:submitToRemote value="find" id="findCustomer" url="[action: 'findCustomer']"
update="results" />
…
<g:javascript>
$(document).ready(function(){
$('#inputTextBox').keypress(function(e){
if(e.keyCode==13)
$('#findCustomer').click();
});
});
</g:javascript>
同样,我使用jQuery库:
<g:javascript library="jquery" />
我不确定我在这里的方法是否有缺陷,因为我确实需要它在页面上的任何10个textField
s上工作。我翻遍了grails文档,没有找到任何真正匹配的…
我发现解决方案与我所拥有的非常接近。
首先,我必须添加一个id到我的submitToRemote
按钮:
<g:submitToRemote value="find" url="[action: 'findCustomer']" update="results" id="submitForm"/>
然后在我的main.gsp
我添加了适当的脚本:
$(document).bind("keypress", function (e) {
if (e.keyCode == 13) {
$("#submitForm").click();
return false;
}
});
这里真正重要的是return false;
,因为没有它,它会点击按钮,然后提交表单,这不是我需要的。
相关文章:
- 根据两个下拉列表的默认值禁用按钮
- 使用回车按钮提交文本框表单
- Angular:如何使用ngRepeat并设置默认单选按钮选项
- vue-js-单选按钮won't默认情况下使用v-model属性进行检查
- 如何在单击和单击不同的按钮时更改按钮的样式,它应该更改为默认值
- 如果用户未选中复选框或选择按钮,如何为复选框或单选按钮设置一些默认值
- 将引导默认按钮更改为当前面板
- 将事件处理程序放在HTML按钮上,而不覆盖其默认功能
- 为输入字段(而不是表单的一部分)设置默认按钮(或在 javascript 中触发其事件)的最佳方法
- 高图表隐藏默认按钮
- 默认按钮颜色
- 如何在 ajax 成功后重置默认按钮
- 表单上的jQueryUI按钮是按下Enter键时的默认按钮
- Bootbox:使默认按钮与ENTER键一起工作
- 如何从javascript设置表单的默认按钮
- 如何获得螺丝默认按钮插件与动态添加的复选框工作
- 更改firefox默认按钮问题
- 定义按回车键时的默认按钮
- 激活默认按钮上的下拉切换
- 焦点在另一个控件上,但按enter键会按默认按钮