2012-03-12 12 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」