編集には 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 呼び出しの外部)。表示されていないと、ポストバックが偽だったのか、良い値だったのか判断できず、適切に対応できません。
- .ajax 関数の外側のコールバックで html 変数を確認する方法はありますか?
- そうでない場合、html 値を .ajax 関数からインライン エディターのコールバックに返す方法はありますか?
- そうでない場合、単語が存在するかどうかを確認するために、コールバックで別の ajax 呼び出しを行う唯一の方法はありますか?