我试图改变进入事件为struts2-dojo自动完成,而不是提交的形式,它应该做一些我的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 ();
在很多情况下都取得了成功,但在这里却行不通。
此代码将在您的上下文中工作
$(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;
}
});
});