событие не обнаруживается в JQuery - PullRequest
0 голосов
/ 07 декабря 2011

У меня есть одно текстовое поле с id = uName.когда я нажимаю кнопку ввода, я хочу, чтобы jquery обнаружил ее и отправил форму.Но это не обнаружение события нажатия клавиши ввода.

Как решить эту проблему?

код:

<s:textfield cssClass="inputselect" name="uname"  id="uname" />


<script type="text/javascript">
    $(document.getElementById('uname')).keypress(function(event){

        var keycode = (event.keyCode ? event.keyCode : event.which);
        if(keycode == '13') {
                document.getElementById("formID").action="searchbaseuom";
                document.getElementById("formID").submit();
        }
    });
</script>

Ответы [ 2 ]

2 голосов
/ 07 декабря 2011

Я внес некоторые изменения в ваш код, надеюсь, это поможет, но вы смешиваете jquery с javascript, который говорит нам, что вы не поняли, как работает jquery.

надеюсь, это поможет.

<s:textfield cssClass="inputselect" name="uname"  id="uname" />


<script type="text/javascript">
  $('#uname').keypress(function(event){
    var keycode = (event.keyCode) ? event.keyCode : event.which;//note changes 
    if(keycode == '13'){
     $("#formID").attr('action',"searchbaseuom").submit();
    }
  });
</script>

Обновление

Также, если вы поместили тег script на теги head, вам понадобится функция готовности, которая означает, что когда страница загружена правильно, выполните следующие инструкции.

поскольку форма может громко звучать после вышеприведенного сценария, это будет означать, что ваше событие не было прикреплено, поэтому вам нужно будет поместить весь сценарий в следующий код.

$(function (){//when document is ready line.
   // script goes here
});

это то же самое, что и

$(document).ready(function(){
  //script here.
});

Единственная разница в том, что один короче другого.

0 голосов
/ 07 декабря 2011

Убедитесь, что ваш код выполняется после DOM готов.

<script type="text/javascript">
$(function(){
    $('#uname').keypress(function(event){
        var keycode = (event.keyCode ? event.keyCode : event.which);
        if(keycode === 13){
            $('#formID').attr('action','searchbaseuom').submit();
        }
    });
});
</script>
...