1

preventDefault 関数を使用して、フォームの送信を停止しています。これは正常に機能していますが、その機能に続いて、機能しなくなった onClick 関数があります。

奇妙なことに、onclick 関数の前に、フォーム preventDefault に従っても機能する単純な div センタリング関数があります。

編集:問題が見つかりました.onclick関数は、最初の関数でajaxを介してロードされたアイテム用でした. そのため、セレクターはおそらくそれを見つけていませんでした

以下は私のコードです:

    // Submit zip code
    $("#get_zip").submit(function (zip)  
    { 
    //Send zipcode
    $.ajax({
            type: "POST",
            url: "ajax_calls.php",
            data: "zip="+$('#zip').val()+"&send_zip=true",
            success: function(listing){$("#wrapper").html(listing);  $("#lightbox,#welcome").fadeOut(300);},
            error: function(){alert(3);$("#error").text("Could not retrieve posts").fadeIn(300).delay(900).fadeOut(300)}
        });

    //Stop form submission action
     zip.preventDefault();

    }); 

  //Center item box
       $("#item").centerInClient();


    //When clicking an item row
    $("tr.item").click(function()  
    { 

    // Get item id from selected row id
    var id = $(this).attr('id');


    //Fill item box with item details
    $.ajax({
            type: "POST",
            url: "ajax_calls.php",
            data: "id="+id+"&get_item=true",
            success: function(r){$("#item_detail").html(r);  $("#lightbox, #item").fadeIn(300);},
            error: function(){alert(2);$("#error").text("Could not retrieve posts").fadeIn(300).delay(900).fadeOut(300)}
        });
    });

これに関するヘルプは大歓迎です。

どうもありがとう

4

1 に答える 1

2

変更してみてください:

zip.preventDefault();

に:

return false;

preventDefault()それが泡立ち、クリックハンドラーをキャンセルしていると思います。

于 2011-03-27T19:51:38.333 に答える