2010-01-19 2 views
1

Высокий!jquery .post не работает

Мне просто интересно, почему это не сработает?

$.post($("#jsCheckoutForm_1b").attr("action"), { 
    sLoginName: $("#sLoginName").val(), 
    sPassword: $("#sPassword").val() 
    }, function(sData){ 
     alert(sData); 
    } 
); 

удовольствие то, что если я жесткий код действия вместо использования $("#jsCheckoutForm_1b").attr("action"), форма подачи. Предупреждение $("#jsCheckoutForm_1b").attr("action") действительно работает нормально (это означает, что он отображает правильный URL-адрес для использования).

Любые идеи?

+1

Вы используете Firebug или похожий инструмент, чтобы увидеть, куда идет действие $ .post? Говорить, что это «не сработает», может означать много вещей. – Bartek

+0

Позвольте мне немного подправить - мой первый ответ был случай пальцев, проезжающих мимо моего мозга. ;) Какой браузер (ы) вы используете? Это отлично работает для меня в Firefox 3.5.7 и IE 6.0 (это означает, что я могу успешно использовать '.post' для отправки на url, указанный' $ ('# id'). Attr ('action') '). –

+0

привет Джефф! Да, я использую firebug, и там не было никаких сообщений. я обнаружил, что это странно, а затем вспомнил, что firefox только что установил бета-версию нового firebug. Так что я тогда сделал, переустановил старый, и теперь, tahtaah, everyting работает нормально. Форма формируется, сообщения публикуются;) Спасибо за вашу помощь. Кстати, код ничего не менял. –

ответ

0

Ваш код выглядит отлично. Я бы кэшировал некоторые переменные и тестировал их.

var form=$('#jsCheckoutForm_1b'), 
    url=form.attr('action'), 
    login=$('#sLoginName'), 
    password=$('#sPassword'); 

console.log(form, url); 
form.submit(function(){ 
    $.post(url, 
    {sLoginName: login.val(), sPassword: password.val()}, 
    function(sData){ 

    }); 
    return false; 
}); 
1

Вы, возможно, должны return false; на функции OnClick кнопки представить.