Jquery и live действуют как проводные, но действуют нормально после принудительного обновления в IE - PullRequest
1 голос
/ 30 мая 2010

что-то не так с моим кодом, и я не могу понять, что это ...

у меня есть div id = "personaltab" У меня есть форма для входа в систему пользователя с именем пользователя и паролем. в случае успеха jquery очищает div и ставит в форме торгов.

если пользователь пытается назначить ставку другому ajax, который назначен кнопке, работает, но по какой-то причине пропускает пустой и просто добавляет ответивший ajax в div

Я проверил, что в IE и Chrome, и он отлично работает в Chrome вот мои коды

$("#login").click(function() {
    var id = $("input#pid").val();
    var user = $("input#puser").val();
    var pass = $("input#ppass").val();
    var dataString = 'id='+ id + '&user='+ user + '&pass=' + pass;
    if (user == "") {
        alert("error");
        $("input#puser").focus();
        return false;
    }
    if (pass == "") {
        alert("error");
        $("input#ppass").focus();
        return false;
    }
    $.ajax({
        type: "POST",
        url: "loginpersonal.asp",
        data: dataString,
        success: function(msg)
        {
            if (msg=="False") {
                alert("error");
                $("#personaltab").show();
            }
            else {
                $("#personaltab").fadeOut("normal",function(){
                    $("#personaltab").empty();
                    $("#personaltab").append(msg);
                    $("#personaltab").slideDown();
                });

            }
        },
        error: function (XMLHttpRequest, textStatus, errorThrown)
        {
            alert('error');
        }
    });
return false;
});

$("#sendbid").live("click", function(){
    var startat = $("input[name=startat]").val();
    var sprice = $("input[name=sprice]").val();
    if (parseInt(sprice)<=parseInt(startat)) {
        alert("error");
        $("input[name=sprice]").focus();
        return false;
    }
    else {
        var payment = $("select[name=payment]").val();
        if ($('input[name=credit]').is(':checked') ){
            var credit = true;
        }
        var prodid = $("input[name=id]").val();
        var dataString = 'id='+ prodid + '&price='+ sprice + '&payment=' + payment + '&credit=' + credit;
        $.ajax({
            type: "POST",
            url: "loginpersonal.asp",
            data: dataString,
            success: function(msg)
            {
                $("#personaltab").empty();
                $("#personaltab").append(msg);
                $("#personaltab").show();
            },
            error: function (XMLHttpRequest, textStatus, errorThrown)
            {
                alert('error');
            }
        });
    }
return false;
});

1 Ответ

0 голосов
/ 01 июня 2010

Решено: у меня был внутри и по какой-то причине div, который должен получить ajax по его идентификатору, был дублирован

не спрашивайте: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...