Ho una form fatta a TAB
<div class="companyForm">
<?php
$this->widget('zii.widgets.jui.CJuiTabs', array(
'tabs'=>array(
Yii::t('company','Dati generali') => array(
// 'content' => $this->renderPartial('_formCompany', array('model'=>$model), true ),
'content' => 'Form company',
),
Yii::t('company','Contatti') => array(
'content' => $this->renderPartial('_formContact', array('model'=>$model), true ),
),
Yii::t('company','Categorie') => array(
'content' => $this->renderPartial('_formCategory', array('model'=>$model), true ),
),
),
)
);
?>
</div>
Come vedete, i renderPartial hanno tutti il parametro final a true. Questo, stando alla documentazione, abilita l’esecuzione del javascritp in esso contenuto
Nel mio javascript, intercetto il cambiamento di una variabile php per decideere se effettuare o meno la visualizzazione dinamica di un errore, oltre ovviamente ad avere il codice html/php necessario per i dati
<script type="text/javascript">
var esit = "<?php echo $esit; ?>";
console.log ("Esit: '" + esit + "'");
var errorSelector = $('#Company_newCategoryId_em_');
errorSelector.hide();
if (esit!="" && esit !='ok' ) {
errorSelector.html(esit).show();
}
</script>
Il problema è che questo codice non viene mai eseguito. Lo dimostra il console log, che non mostra MAI nulla in firebug
Questo codice in realtà VIENE ESEGUITO.
Il problema risiede nel fatto che l’output di questa riga è vuoto, per cui il javascirpt non ha nulla su cui agire
<?php echo $form->error($model, 'newCategoryId',array('class'=>'mws-error')); ?>