CActiveForm->fileField: lettura del contenuto alla selezione del file

Ciao a tutti. Vi chiedo aiuto per capire come posso risolvere un problema.

Ho una Form con alcuni campi tra cui un fileField e una textArea:




...

<div class="row">

 <?php echo $form->labelEx($model,'file_name'); ?>

<?php echo $form->fileField($model,'file_name',array('size'=>60,'maxlength'=>255)); ?>

 <?php echo $form->error($model,'file_name'); ?>

</div>

	

<div class="row">

 <?php echo $form->labelEx($model,'file_content'); ?>

 <?php echo $form->textArea($model,'file_content',array('rows'=>6, 'cols'=>100)); ?>

 <?php echo $form->error($model,'file_content'); ?>

</div>

...



Vorrei che alla selezione del file tramite fileField venga letto il contenuto del file ed il contenuto venga inserito (sostituito) nella textArea.

Questa operazione deve essere fatta prima di fare la submit della form? Secondo voi è possibile? Ajax?

Grazie in anticipo.

non è possibile caricare un file su un server tramite ajax per limitazioni di sicurezza di javascript, puoi ottenere il risultato utilizzando una serie di workaround, mi pare che puoi trovare esempi sempre nella wiki di yii o comunque ovunque in giro per la rete.

Appoggio nickcv.

Il ripiego piu’ comune e’ usare un oggetto flash (ovviamente gia’ pronto). Io in questi casi uso uploadify, e credo che ci sia qualche extension, ma io preferisco gestirmela da me, la documentazione di uploadify e’ chiara e semplice.

nickcv, zaccaria,

grazie 1000.

Sulla base dei vostri suggerimenti ho cambiato la logica di implementazione per ottenere lo stesso risultato.

Appena la terminerò (sono ancora in alto mare :() la scriverò sul forum, magari potrebbe essere d’aiuto a qualcuno.

Grazie ancora.

dchan, se te la senti di smanare un po’ con javascript e ajax, fidati che uploadify e’ semplice e risparmierai piu’ tempo usandolo che implementando qualcosa tu.