Функция Javascript onkeyup не работает

Не знаю, что именно происходит, но это определенно убивает мое время зря. Вот моя функция javascript:

<script type="text/javascript"  >

function loadSponsorName() {
    var sp_id = document.getElementById('sponsor_id').value;
    var murl = 'load_sponsor.php?sp_id='+sp_id+'';

    var a=new Ajax(murl,{
        method:"post",
        onComplete: function(response){
        $('sponsorName').setHTML(response); 
        }
    }).request();
}
</script>

и внутри формы это мои входы

<tr>
    <td width="33%" height="20">
        <label id="namemsg" for="name">Sponsor ID:</label>
    </td>                          
    <td width="67%">
        <input type="text" name="sponsor_id" id="sponsor_id" size="40" value="" class="inputbox required" maxlength="50" onkeyup="loadSponsorName();" /> *
    </td>
</tr>
<tr>
    <td height="20">
        <label id="namemsg" for="name">Sponsor Name:</label>
    </td>                          
    <td><div id="sponsorName">
        <input type="text" name="sponsor_name" id="sponsor_name" size="40" value="" class="inputbox required" maxlength="50" /> *
    </div></td>
</tr>

Кажется, что событие onkeyup даже не вызывает функцию.

Кто-нибудь может мне помочь?


person tintinboss    schedule 24.11.2011    source источник
comment
если написать onkeyup=alert(1) - работает?   -  person Itay Kinnrot    schedule 24.11.2011
comment
у меня работает - jsfiddle.net/x5t3b   -  person Gatekeeper    schedule 24.11.2011


Ответы (2)


onkeyup работает, попробуйте этот код javascript, чтобы увидеть, как он работает;

function loadSponsorName() {
       alert(document.getElementById('sponsor_id').value);
}

Я думаю, что есть проблема с;

 var a=new Ajax(murl,{
            method:"post",
            onComplete: function(response){
            $('sponsorName').setHTML(response); 
            }
        }).request();

Где находится «Аякс-класс»? Вы импортировали его из другой библиотеки?

person Yusuf K.    schedule 24.11.2011
comment
Спасибо. Это верно. Но можете ли вы сказать, какую библиотеку я могу использовать для работы кода? У меня есть проект, в котором есть этот код, и он отлично работает. Но когда я импортировал в свой проект, это не... Я не могу найти, но я думаю, что мне не хватает библиотеки, на которую вы ссылаетесь... - person tintinboss; 24.11.2011
comment
Возможно, эти три библиотеки удовлетворят ваши потребности; api.jquery.com/jQuery.ajax и prototypejs.org/api/ajax/request и tutorialspoint.com/prototype/prototype_ajax_request.htm или вы должны найти класс Ajax из своего предыдущего проекта - person Yusuf K.; 24.11.2011
comment
Эй :) Это идеальный ответ! Мне не хватало библиотеки, и это mootools.js. БОЛЬШОЕ СПАСИБО! - person tintinboss; 24.11.2011

Ajax-вызов в обработчике + «обработчик не работает aaaaaarghhhhh hellpppp» = обычно означает неработающий Ajax-вызов.

Я не уверен, какую библиотеку вы используете для своего вызова Ajax, но попробуйте добавить что-то вроде функции обратного вызова onError туда, где вы добавляете onComplete. Бьюсь об заклад, это будет вызвано, потому что есть проблема с вызовом Ajax.

person Strelok    schedule 24.11.2011
comment
Я использую ‹script type=text/javascript src=ajax.googleapis.com/ajax/libs/jquery/1.4.2/ - person tintinboss; 24.11.2011
comment
Я не уверен, какую библиотеку вы используете для своего вызова Ajax. Требуется ли какая-либо библиотека для этого типа вызова? пожалуйста, дайте мне знать. - person tintinboss; 24.11.2011