0

ユーザーが入力した URL から画像を取得するページを作成し、ajax を使用して、fancybox によってモーダル ウィンドウに表示されるように、img src で div を更新しています。表示されている画像には、リンクとして下にタイトルが表示されています。これは fancybox で行われます (タイトルを設定したtitle="something"場合、画像の下に「何か」が表示されます。タイトルを設定した場合title="<a href='something.html'>Something</a>)

私の問題はこれです。ユーザーがリンクをクリックして画像を選択できるようにする必要があります。次に、画像の src URL で非表示フィールドを更新し、フォームを送信するという 2 つのことを行う必要があります。

ajaxリクエスト用のコードは次のとおりです。

    function getCustomerInfo() {
        var phone = document.getElementById("urls").value;
        var url = "grabimages.php?urls=" + escape(phone);
        request.open("GET", url, true);
        request.onreadystatechange = updatePage;
        request.send(null);
        $("#dvloader").show();
        $("#selectimages").hide();
        //$("#noimages").hide();

        function updatePage() {
        if (request.readyState == 4)
            if (request.status == 200){
                if(request.responseText == ''){
                    $("#dvloader").hide();
                    $("#noimages").show();
                }else{
                    document.getElementById("update-div").innerHTML = request.responseText;
                    $("#dvloader").hide();
                    $("#selectimages").show();
                    $(".fancybox")
                        .attr('rel', 'gallery')
                        .fancybox({
                            padding : 15
                        });
                    $('input[id=theimage]').click(function(){

                        $(".fancybox").eq(0).trigger('click');
                    }); 


                    function recURL(recipeurl) {

                        $('#recipeurl').val('recipeurl');
                        document.recipeform.submit();


                    }

                }
            }else{
                alert('nothing');
            }

        }

そして、これが href javascript 呼び出し用に試したコードです (これはサーバー側のコードなので、PHP:

    echo "<a class=\"fancybox\" id=\"recipelinks\" title=\"<a href='#' onclick='javascript:recURL(" . $imagepath . ");'>Choose this Image</a>\" href=\"" . $imagepath . "\"><img src=\"" . $imagepath . "\" alt=\"\"/></a>";

これは何もしません。助言がありますか?

4

1 に答える 1

0

を使用すると$('.fancybody').live('click', function() { });、動的にlive追加される要素のイベントをリッスンできます。DOM

于 2012-07-15T09:36:15.737 に答える