以前はなかったケースがあり、実際にそれを理解できません。何が問題なのか. :(私は古い未解決のjsコードのコントローラークラスを作成しようとしましたが、もう少しオブジェクト指向にしようとしました(はい、失敗しましたが、練習も知識の母です)。だから、ここに私のコードがあります:
関数は、次のように、変数を処理してフォームをポップする Main 関数を呼び出します。
function Main(com, multiple, grid) {
if (CheckTableFunctions(arguments) == true)
{
var partner = Partner.Factory(com);
switch(com)
{
case "CreatePartners":
...
break;
case "GetPartners":
$e = ShowModal(); // <- this makes a form visible
Communicate(com, partner, function(data) <- ajax req. with callback
{
... // <- manipulate data, fill form, etc.
});
Main("EditPartners", multiple, grid); // <- calling Main Editpartners case
break;
実際、GetPartners のケースは EditPartners の前にありますが、これは単にフォームに入力するためのものです。以下のように、編集、およびイベント バインディングは editpartners に送信されます。
case "EditPartners":
$e = GetModal(); // <- THE ERROR
$e.find("a.submit").click(function(e){
partner.fx_data.partner.data = getFormData($e)
Communicate(com, partner, function(data) // <- return the modified values by ajax
{
CloseModal();
});
});
break;
そのため、fn GetModal を実行すると、空のオブジェクトが返されますが、関数は実行GetModal = fn(){$e=$(".poppedModal");return $e;}
後に正しく機能しMain(EditP)
ます。何よりも論理的または系統的なエラーだと思います。そして、本当のことを言うと、コールバックで呼び出しました。つまり、使用ShowModal(callback)
したことを意味し、準備ができたら呼び出しましMain(EditP)
たが、機能しませんでした。
編集:
申し訳ありませんが、主な問題を忘れていました(主な問題だと思います)。だから私はちょうどそれのhtmlプロトタイプを持っているフォームを正確に持っていません。必要なときに常にクローンを作成するため、プロトタイプを作成します。
ここに showmodal fn があります。これにより、モーダルに到達できなくなると思います。
function ShowModal()
{
$container = $('#myModal');
$clone = $container.clone();
$clone.removeAttr("id").addClass("clonedModal");
$clone.modal('show');
return $clone;
}
function ShowModal()
{
$container = $('#partnerModal');
document.getElementById('partnerForm').reset();
$container.modal('show');
return $container;
}
ご協力いただきありがとうございます。
レパス