ユーザーの詳細を更新するために使用しているajaxedモーダルで表示されるフォームがあります。モーダルが読み込まれると、js関数を呼び出します。
teamCreate: function() {
$j("#step1,form#createEditTeam").show();
$j("#step2").hide();
var options = {
type: "get",
dataType: 'json',
beforeSubmit: before, // pre-submit callback
success: success // post-submit callback
};
$j("form#createEditTeam").ajaxForm(options);
function before(formData, jqForm, options){
var valid = $j("form#createEditTeam").valid();
if (valid === true) {
$j(".blockMsg").block({ message: $j('#panelLoader') });
return true; // submit the form
} else {
$j("form#createEditTeam").validate();
return false; // prevent form from submitting
}
};
function success(data){
if (data.status == "success") {
$j(".blockMsg").unblock();
} else {
//
}
};
function error(xhr, ajaxOptions, thrownError){
alert("Error code: " + xhr.statusText);
};
}
これは、モーダルを開いたり閉じたりする回数に関係なく、最初にフォームを送信したときに問題なく機能します。ただし、フォームを送信してからモーダルを再度開き、フォームをもう一度送信しようとすると、jsエラーが発生します。
h is undefined