2011-02-09 4 views
0

У меня есть один код ajax/jquery на одной из моих страниц, и проблема, с которой я сталкиваюсь, заключается в том, что она не работает при первой загрузке страницы. Если я обновляю страницу, это не проблема. Он работает в firefox в первый раз. Все переменные, которые я использую, в порядке, поскольку я их предупредил. Я не получаю сообщение об успехе или ошибке. Кажется, он ничего не делает?jquery ajax post - не работает загрузка первой страницы

Любые идеи?

$('.window .request').click(function (e) {    
    var itm = document.getElementById('txtItm').value; 
    var qty = document.getElementById('txtQty').value; 
    var msg = document.getElementById('txtMessage').value; 
    var op_id = document.getElementById('txtOp_id').value; 

    $.ajax({ 
    type: "POST", 
    url: "do_request.php?msg="+msg+"&itm="+itm+"&qty="+qty+"&op_id="+op_id, 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function (msg) { 
     document.getElementById('div_main').style.display='none'; 
     document.getElementById('div_success').style.display='block'; 
     var row_id = document.getElementById('txtRow').value; 
     document.getElementById('row'+row_id).style.backgroundColor='#b4e8aa'; 
    }, 

    error: function (XMLHttpRequest, textStatus, errorThrown) { 
     alert('Error submitting request.'); 
    } 

    }); 

}); 
+0

Это просто случилось меня. У меня были '

' и'

ответ

0

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

$(document).ready(function(){ 
    $("#uniquedomid").bind('click',function(){ 
    // click handler logic 
    }); 
}); 

Кроме того, как вы новичок в JQuery, одна вещь, которую вы будете хотеть, чтобы начать смотреть на все различные способы, в который JQuery может улучшить вашу жизнь. Он делает почти все. Но для начала, вы будете хотеть, чтобы начать использовать:

$("#uniquedomid") 

Вместо

document.getElementById("uniquedomid") 

И

$("#uniquedomid").val(); 

Вместо

document.getElementById("uniquedomid").value 
+0

Спасибо за ваши указатели. Оливер. Я изменил несколько вещей и начал их использовать. По-прежнему не повезло в бит ajax, он доходит до «$ .ajax ({», а затем не делает ничего в первый раз. Mystery. – thegunner

+0

попробуйте просмотреть веб-журнал, чтобы увидеть, действительно ли запрос, и поставить предупреждения или консольные журналы в ваших успехах и функциях ошибок, чтобы убедиться, что они не стреляют. Кроме того, я считаю, что вы можете удалить атрибут contentType из своих параметров ajax, поскольку часть utf-8 является излишней, и вы не передаете JSON. HTH. – Oliver

Смежные вопросы