1

我正在尝试更改 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();

在许多情况下并取得了成功,但在这里它不起作用。

4

1 回答 1

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;
    }
  });
});
于 2013-05-15T09:35:55.197 回答