ajax 呼び出しの成功ノードからウィジェット関数を呼び出そうとしていますが、成功していません。
私のアプリでは、ユーザーが Google マップに説明付きのマーカーを追加できます。JQuery-addresspicker ウィジェットと Rails を使用しています。マーカーの追加を担当する関数を追加しました。説明テキストエリアと情報を送信するためのボタンを含むフォームが表示されます。したがって、ユーザーが送信した後、アプリは Ajax 関数を呼び出してユーザーのデータを保存します。成功した場合は、InfoWindow を閉じるためだけに別のウィジェット関数を呼び出したいと考えています。
問題は、成功した Ajax ノードから別のウィジェット関数を呼び出す方法がわからないことです。
JQuery-addresspicker.js
.
.
.
_addFormListener: function(map, marker) {
var form = $(".add-form").clone().show();
var infoWindowContent = form[0];
var infoWindow = new google.maps.InfoWindow({
content: infoWindowContent
});
google.maps.event.addListener(marker, "click", function() {
infoWindow.open(map, this);
});
form.submit(function (event){
event.preventDefault();
var description = $("textarea[name=description]", this).val();
var latitude = marker.getPosition().lat();
var longitude = marker.getPosition().lng();
var data = {
description : description,
latitude : latitude,
longitude : longitude
};
$.ajax({
type : "POST",
url : "/places",
data: {place: data},
beforeSend: function(x) {
x.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'))
},
success: function(x) {
this._closeFormFields(); // Not working!
}
});
});
},
_cleanFormFields: function() {
console.log("testing");
}
.
.
PlacesController
def create
@place = Place.new(params[:place])
if @place.save
redirect_to places_path
else
render :status => 422
end
終わり
ブラウザのコンソールで「Uncaught TypeError: Object [object Window] has no method '_cleanFormFields'」が発生します
何か案は?ありがとう!