我有一个以前没有的案例,真的无法弄清楚,这是什么问题。:( 我试图为我的旧的、不稳定的 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;
}
谢谢你的帮助。
重复