0

編集には editInPlace jquery プラグインを使用しています。

$(".edit-synonyms").editInPlace(varSettings);

その設定は次のとおりです。

varSettings=
                    {
                        show_buttons: true,
                        error_sink: null,
                        context: "#error",
                        callback: function(idOfEditor, enteredText, originalHTMLContent, settingsParams, callbacks) 
                        {
                            varID=$(this).attr('id');
                            var data ='update_value=' + encodeURIComponent(enteredText) 
                            + '&element_id=' + $(this).attr("id")
                            + '&original_value=' + encodeURIComponent(originalHTMLContent);
                            $.ajax({
                                    url: "/inc/ajax-synonim.asp?action=edit",
                                    type: "POST",
                                    data: data,
                                    dataType: "html",
                                    complete: function(request){

                            },
                                    success: function(html, textStatus){
                                        if (html != "False") {
                                            $.get('/inc/ajax-synonim.asp?action=sinonimke&ID=' + IDSinonimka, function(data){
                                                varBesede=data.split("|");
                                                $('.sinonimke-'+IDSinonimka).text(varBesede[1]);
                                                $('.beseda-'+IDSinonimka).text(varBesede[0]);                                           
                                            })
                                        } else {
                                            alert("Word exists in database!")

                                        }

                                    }

                            })  
                            alert(error);
                            var new_text = enteredText || originalHTMLContent;
                            return new_text;


                        }
                    }

私の問題は、.ajax の成功時にサーバー側から返されるものを html 変数として取得することです。ただし、この変数は設定には表示されません (.ajax 呼び出しの外部)。表示されていないと、ポストバックが偽だったのか、良い値だったのか判断できず、適切に対応できません。

  1. .ajax 関数の外側のコールバックで html 変数を確認する方法はありますか?
  2. そうでない場合、html 値を .ajax 関数からインライン エディターのコールバックに返す方法はありますか?
  3. そうでない場合、単語が存在するかどうかを確認するために、コールバックで別の ajax 呼び出しを行う唯一の方法はありますか?
4

1 に答える 1

1

ajax asp スクリプトの最後に以下を追加します。

print "var yourvariable = yourvalue;"

ajax呼び出しに次のようなものを使用します。

$.post("/inc/ajax-synonim.asp?action=sinonimke&ID=' + IDSinonimka",{your attributes}, function(sScript) {
    try {
        eval(sScript);
       } catch(error) {
            alert(error.message+"\n"+sScript);
       }
    return false;
});

PHP ajax スクリプトは、「var yourvariable = yourvalue;」と出力します。jquery はそのスクリプトを実行しようとします。Tadaa、JavaScript に解析された ajax 変数を取得しました。

于 2011-03-17T12:30:15.647 に答える