2012-03-12 13 views
0

我到处搜索了一个答案,但可以得到任何。重新解析Zend_Dojo_Form进入AJAX应答。可能吗?

简单的问题,我在AJAX调用中得到了一个Zend_Dojo_Form,但仍然没有找到一种方法让Dojo再次解析它,以便正确渲染。

这是AJAX回复:

<div id="formcontainer"> 
<form id="UserLoginInfo"><dl class="zend_form_dojo"> 
<dt id="userid-label">&#160;</dt> 
<dd id="userid-element"> 
<input type="hidden" name="userid" value="" id="userid" /></dd> 
<dt id="email-label"><label for="email" class="required">Endereço de Email</label></dt> 
<dd> 
<input id="email" name="email" value="" type="text" /></dd> 
<dt id="role-label"><label for="role" class="required">Função</label></dt> 
<dd> 
<select name="role" id="role" trim="1" promptMessage="Função atribuída a este utilizador" onChange="checkCustomer(this)"> 
<option value="126" label="Administrador Local">Administrador Local</option> 
<option value="94" label="Consultor Local">Consultor Local</option> 
<option value="62" label="Operador Local">Operador Local</option> 
<option value="1" label="Visitante">Visitante</option> 
</select></dd> 
<dt id="firstname-label"><label for="firstname" class="required">Nome</label></dt> 
<dd> 
<input id="firstname" name="firstname" value="" type="text" /></dd> 
<dt id="lastname-label"><label for="lastname" class="required">Apelido</label></dt> 
<dd> 
<input id="lastname" name="lastname" value="" type="text" /></dd> 
<dt id="password-label"><label for="password" class="required">Password</label></dt> 
<dd> 
<input id="password" name="password" value="" type="password" /></dd> 
<dt id="passwordretype-label"><label for="passwordretype" class="required">Re-introduza Password</label></dt> 
<dd> 
<input id="passwordretype" name="passwordretype" value="" type="password" /></dd></dl> </form> 
</div> 

然后我打电话

dojo.parser.parse('formcontainer'); 

但它不工作!

所以我的问题是,这可以完成吗?如果是这样,怎么样?

TIA

+0

经过多次搜索后,我发现可能的解析器没有处理元素,因为它们没有“** data-dojo-type **”属性集。有没有办法强制Zend_Dojo_Form渲染该属性? – krubach 2012-03-12 23:44:08

回答

0

如果使用这样的事情,它会自动解析它...

dijit.byId("somedijitcontainerId").setContent("data-returned-from-ajax-call"); 

你的 “somedijitcontainerId” dijit的类型可以是 “的dojoType =” dijit.layout.ContentPane”