В чем разница?

StalkerClasses

Новичок
Добрый вечер.

Ни как не пойму, это работает:

PHP:
    $('#sc_UserComment').live('submit', function(){
        var msg = $('#sc_UserComment').serialize();
        $("div.sc_UserComment_wrap").find("input,textarea").attr("disabled", true);
            $.ajax({ 
                type: "POST",
                data: msg, // data: ({username : 123, password : 123}),
                url: window.location.href + "?Ajax=100",
                success: function(html){
                    $("div.sc_UserComment_wrap").replaceWith(html); 
                    $("div.sc_UserComment_wrap").find("input,textarea").attr("false", true);
                } 
            });
        return false;
    });
Это нет.

PHP:
    $('#sc_UserComment').live('submit', function(){
        $("div.sc_UserComment_wrap").find("input,textarea").attr("disabled", true);
            $.ajax({ 
                type: "POST",
                data:  $('#sc_UserComment').serialize(), // data: ({username : 123, password : 123}),
                url: window.location.href + "?Ajax=100",
                success: function(html){
                    $("div.sc_UserComment_wrap").replaceWith(html); 
                    $("div.sc_UserComment_wrap").find("input,textarea").attr("false", true);
                } 
            });
        return false;
    });
Из-за чего во втором случае data-не передается?
 

MiksIr

miksir@home:~$
Данные задисейбленных полей не передаются по сабмиту, соответственно serialize() не собирает данные из таких полей. В первом случае вы сначала собираете данные, потом их дисейблите, во втором - сначала дисейблите, а потом уже пытаетесь собрать из формы данные (и ничего не получаете).
 

StalkerClasses

Новичок
А как же много примеров из сети где так делают?
PHP:
$.ajax({
    url: 'test.php',
    type: 'POST',
    data: $('#form_content').serialize(),
    success: function(data){
        $('#demoajax').show();
        $('#demoajax').html(data);
        }
});
 

StalkerClasses

Новичок
Если позволите еще небольшой вопрос - что бы не плодить тем - може быть кто-то сталкивался . можно ли в данном примере как то сделать
url: window.location.href
urlAddParameter: "Ajax=100" (что то вроде этого)

Это нужно из-за того, что есть адреса без ЧПУ где нужно добавлять - "&Ajax=100",
а есть адреса с ЧПУ, где приходится ставить ?Ajax=100
 

StalkerClasses

Новичок
Что ни будь попроще чем вот эта конструкция:
url: window.location.href + ((window.location.href.indexOf('?') == -1) ? '?' : '&') + "ajax=100"
 

MiksIr

miksir@home:~$
Попроще - hidden поле с именем Ajax добавить, оно в data попадет
Только в PHP оно будет не в _GET, а в _POST (ну или _REQUEST)
 

StalkerClasses

Новичок
Тогда оставлю как есть.
В hidden - передовать запутаться потом можно.
Спасибо.
 
Сверху