我正在尝试更改struts2-dojo autocomplete的输入事件,其中提交表单的内容应该是我的一些jquery工作。
我试过......
<s:form action="EmpAction">
<sx:autocompleter label="Name" name="name" list="nameList" id="Name" showDownArrow="false" />
<s:textfield name="test" label="test" id="test"/>
</s:form>
和jquery ......
<script type="text/javascript">
$(function(){
$('#Name').key(function(e) {
if (e.keyCode == 13) {
e.preventDefault();
alert($(this).val());
//and some jquery code to get json and fill test textfield.
return false;
}
});
});
</script>
但它仍然提交此表单,我已经使用了
e.preventDefault();
在许多情况下并取得了成功,但此处不起作用。
答案 0 :(得分:1)
此代码适用于您的上下文
$(document).ready(function() {
$(window).keydown(function(event){
if(event.keyCode == 13) {
if(event.currentTarget != $("yourAutocompleteId")){
event.preventDefault();
myPersonalFunctionCall();
}
else{$("yourAutocompleteId").one("onfocus", false);}
return false;
}
});
});