我想检测输入是否在html文本字段中使用,我加载到对话框中。
如果输入被按下,我想模拟点击Save
- 按钮。
我尝试了很多东西,基本上推动了这个代码:
$(document).keypress(function(e) {
if (e.keyCode == $.ui.keyCode.ENTER) {
$("#resultTextArea").val("Enter gedrueckt");
$(this).find("button:saveBtn").trigger("click");
}
});
下面是AUI-Dialog(我试过上面的代码)
AUI().use('aui-dialog', 'liferay-portlet-url', function(A) {
var dialog = new A.Dialog({
title: 'New title',
centered: true,
modal: true,
width: 500,
height: 200,
bodyContent:AUI().one('#addTestDialog'),
buttons: [
{ label : "Save" , id : "saveBtn" , handler : function(){
saveStuff();
this.close();
}
}
],
open: function() {
$(document).keypress(function(e) {
if (e.keyCode == $.ui.keyCode.ENTER) {
$("#resultTextArea").val("Enter gedrueckt");
$(this).find("button:saveBtn").trigger("click");
}
});
}
}).render();
});
这是定义对话框主体的html部分:
<div style="display:none;">
<div id="addTestDialog">
<portlet:actionURL name="addNote" var="addNoteURL" />
<br>
<table style="width:100%;">
<tr>
<td>Name:</td>
<td><input id="textInput" style="width:98%;height:20px;"></input></td>
</tr>
</table>
</div>
</div>
我使用AlloyUI的API检查了一下,发现了这个:http://deploy.alloyui.com/api/classes/Dialog.html
在属性下:我找到的每个教程/代码都没有打开。 因此,这不起作用(至少我是这么认为的)。我测试了初始化,但这也无法正常工作。
感谢您提供任何帮助/提示。
答案 0 :(得分:1)
您可以使用 jQuery 来完成此任务
即
$("#saveBtn").keypress(function(event){
var keycode = (event.keyCode ? event.keyCode : event.which);
if (keycode == '13') {
// do what you want
}
});
HTH
答案 1 :(得分:1)
它现在有效,这是我的代码(在输入时按下它与savebtn功能相同并关闭对话框):
$(document).ready(function(){
$("#scenario_add_btn").click(function(){
AUI().use('aui-dialog', 'liferay-portlet-url', function(A) {
var dialog = new A.Dialog({
title: 'New title',
centered: true,
modal: true,
width: 500,
height: 200,
bodyContent:AUI().one('#addTestDialog'),
buttons: [
{ label : "Save" , id : "saveBtn" , handler : function(){
saveStuff();
this.close();
}
}
]
}).render();
$("#textInput").keypress(function(event) {
var keycode = (event.keyCode ? event.keyCode : event.which);
if (keycode == '13') {
saveStuff();
dialog.close();
}
});
});
});/*btn.click*/
});/*document ready*/
答案 2 :(得分:0)
输入keyCode
为13
尝试将$.ui.keyCode.ENTER
替换为13
并检查其是否有效。