Buenos dias Lagogz y gracias por que eres lo unico que me contesta!!!
No lo he escribido todo (el codigo) por no joder la gente en el leerlo.
Me voy a esplicar mejor.
Estos son los dos Step de mi forumlario Yii
Step 1:
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'telegramma-form',
'stateful'=>true,
// Please note: When you enable ajax validation, make sure the corresponding
// controller action is handling ajax validation correctly.
// There is a call to performAjaxValidation() commented in generated controller code.
// See class documentation of CActiveForm for details on this.
'enableAjaxValidation'=>false,
)); ?>
<p class="note">Tutti i campi contrassegnati con <span class="required">*</span> sono obbligatori.</p>
<table>
<td>
<center><h2>Mittente</h2></center>
</td>
</table>
<table>
<tr>
<td>
<?php echo $form->labelEx($model,'nome'); ?>
<?php echo $form->textField($model,'nome_mitt',array('size'=>60,'maxlength'=>255)); ?>
<?php echo "<font color='#000000'><b>" .$form->error($model,'nome_mitt')."</b></font>"; ?>
</td>
<td>
<?php echo $form->labelEx($model,'cognome'); ?>
<?php echo $form->textField($model,'cognome_mitt',array('size'=>60,'maxlength'=>255)); ?>
<?php echo "<font color='#000000'><b>" .$form->error($model,'cognome_mitt')."</b></font>" ;?>
</td>
</tr>
</table>
<table>
<tr>
<td>
<?php echo $form->labelEx($model,'Indirizzo'); ?><br />
<?php echo $form->dropDownList($model,'indirizzo_mitt', CHtml::listData(Ubicazioni::model()->findAll(), "nomeub","nomeub"));?>
<?php echo "<font color='#000000'><b>" .$form->error($model,'indirizzo_mitt')."</b></font>"; ?>
</td>
<td>
<?php echo $form->labelEx($model,''); ?><br />
<?php echo $form->textField($model,'via_mitt',array('size'=>60,'maxlength'=>255)); ?>
<?php echo "<font color='#000000'><b>" .$form->error($model,'via_mitt')."</b></font>"; ?>
</td>
<td>
<?php echo $form->labelEx($model,'civico'); ?><br />
<?php echo $form->textField($model,'civico_mitt',array('size'=>20,'maxlength'=>20)); ?>
<?php echo "<font color='#000000'><b>" .$form->error($model,'civico_mitt')."</b></font>"; ?>
</td>
</tr>
</table>
<table>
<tr>
<td>
<?php echo $form->labelEx($model,'cap'); ?><br />
<?php echo $form->dropDownList($model,'cap_mitt', CHtml::listData(Cap::model()->findAll(), "cap","cap"));?>
<?php /* decidere se usare questa o quella sopra echo $form->dropDownList($model,'cap_mitt', CHtml::listData(Cap::model()->findAll(), "id","cap"))*/;?>
<?php echo "<font color='#000000'><b>" .$form->error($model,'cap_mitt')."</b></font>"; ?>
</td>
<td>
<?php echo $form->labelEx($model,'citta'); ?><br />
<?php echo $form->textField($model,'citta_mitt',array('size'=>60,'maxlength'=>255)); ?>
<?php echo "<font color='#000000'><b>" .$form->error($model,'citta_mitt')."</b></font>"; ?>
</td>
<td>
<?php echo $form->labelEx($model,'provincia'); ?><br />
<?php echo $form->textField($model,'provincia_mitt',array('size'=>2,'maxlength'=>2)); ?>
<?php echo "<font color='#000000'><b>" .$form->error($model,'provincia_mitt')."</b></font>"; ?>
</td>
</tr>
</table>
<table>
<tr>
<td>
<?php echo $form->labelEx($model,'stato'); ?><br />
<?php echo $form->dropDownList($model,'stato_mit', CHtml::listData(Stati::model()->findAll(), "nome","nome"));?>
<?php echo "<font color='#000000'><b>" .$form->error($model,'stato_mit')."</b></font>"; ?>
</td>
</tr>
</table>
<br />
<table>
<td>
<center><h2>Destinatario</h2></center>
</td>
</table>
<table>
<tr>
<td>
<?php echo $form->labelEx($model,'nome'); ?>
<?php echo $form->textField($model,'nome_dest',array('size'=>60,'maxlength'=>255)); ?>
<?php echo "<font color='#000000'><b>" .$form->error($model,'nome_dest')."</b></font>"; ?>
</td>
<td>
<?php echo $form->labelEx($model,'cognome'); ?>
<?php echo $form->textField($model,'cognome_dest',array('size'=>60,'maxlength'=>255)); ?>
<?php echo "<font color='#000000'><b>" .$form->error($model,'cognome_dest')."</b></font>"; ?>
</td>
</tr>
</table>
<table>
<tr>
<td>
<?php echo $form->labelEx($model,'Indirizzo'); ?><br />
<?php echo $form->dropDownList($model,'indirizzo_dest', CHtml::listData(Ubicazioni::model()->findAll(), "nomeub","nomeub"));?>
<?php echo "<font color='#000000'><b>" .$form->error($model,'indirizzo_dest')."</b></font>"; ?>
</td>
<td>
<?php echo $form->labelEx($model,''); ?><br />
<?php echo $form->textField($model,'via_dest',array('size'=>60,'maxlength'=>255)); ?>
<?php echo "<font color='#000000'><b>" .$form->error($model,'via_dest')."</b></font>"; ?>
</td>
<td>
<?php echo $form->labelEx($model,'civico'); ?><br />
<?php echo $form->textField($model,'civico_dest',array('size'=>20,'maxlength'=>20)); ?>
<?php echo "<font color='#000000'><b>" .$form->error($model,'civico_dest')."</b></font>"; ?>
</td>
</tr>
</table>
<table>
<tr>
<td>
<?php echo $form->labelEx($model,'cap_id'); ?><br />
<?php echo $form->dropDownList($model,'cap_id', CHtml::listData(Cap::model()->findAll(), "id","cap"));
/*Posso anche utilizzare la forumla sotto con lo stesso risultato
$arrCap = Cap::model()->findAll();
$arrData = CHtml::listData( $arrCap, 'id', 'cap');
echo $form->dropDownList( $model, 'cap_id', $arrData);*/
?>
<?php echo "<font color='#000000'><b>" .$form->error($model,'cap_id')."</b></font>"; ?>
</td>
<td>
<?php echo $form->labelEx($model,'citta'); ?><br />
<?php echo $form->textField($model,'citta_dest',array('size'=>60,'maxlength'=>255)); ?>
<?php echo "<font color='#000000'><b>" .$form->error($model,'citta_dest')."</b></font>"; ?>
</td>
<td>
<?php echo $form->labelEx($model,'provincia'); ?><br />
<?php echo $form->textField($model,'provincia_dest',array('size'=>2,'maxlength'=>2)); ?>
<?php echo "<font color='#000000'><b>" .$form->error($model,'provincia_dest')."</b></font>"; ?>
</td>
</tr>
</table>
<table>
<tr>
<td>
<?php echo $form->labelEx($model,'stato'); ?><br />
<?php echo $form->dropDownList($model,'stato_dest', CHtml::listData(Stati::model()->findAll(), "nome","nome"));?>
<?php echo "<font color='#000000'><b>" .$form->error($model,'stato_dest')."</b></font>"; ?>
</td>
</tr>
</table>
<table>
<td>
<?php echo $form->labelEx($model,'testo'); ?><br />
<?php echo $form->textArea($model,'parole',array('rows'=>6, 'cols'=>20, 'maxlenght'=>'1500')); ?>
<?php echo "<font color='#000000'><b>" .$form->error($model,'parole')."</b></font>"; ?><br />
</td>
</table>
<?php echo CHtml::submitButton('Annulla', array('name'=>'cancel')); ?>
<?php echo CHtml::submitButton('Avanti' ,array('name'=>'step2')); ?>
<?php $this->endWidget(); ?>
Step 2:
<?php
/* @var $this TelegrammaController */
/* @var $model Telegramma */
/* @var $form CActiveForm */
?>
<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'telegramma-form',
'stateful'=>true,
// Please note: When you enable ajax validation, make sure the corresponding
// controller action is handling ajax validation correctly.
// There is a call to performAjaxValidation() commented in generated controller code.
// See class documentation of CActiveForm for details on this.
'enableAjaxValidation'=>false,
)); ?>
<table>
<td>
<?php echo $form->labelEx($model,'precio'); ?><br />
<?php echo $form->textField($model,'precio',array('size'=>10,'maxlength'=>5)); ?>
<?php echo "<font color='#000000'><b>" .$form->error($model,'precio')."</b></font>"; ?>
</td>
<td>
<?php echo $form->labelEx($model,'esito'); ?><br />
<?php echo $form->hiddenField($model,'esito',array('value'=>'In Consegna', 'type'=>"hidden", 'size'=>10,'maxlength'=>200)); ?>
<?php echo "<font color='#000000'><b>" .$form->error($model,'esito')."</b></font>"; ?>
</td>
<td>
<?php echo $form->labelEx($model,'data_consegna'); ?><br />
<?php echo $form->hiddenField($model,'data_consegna',array('value'=>'2014-00-00', 'type'=>"hidden", 'size'=>10,'maxlength'=>10)); ?>
<?php echo "<font color='#000000'><b>" .$form->error($model,'data_consegna')."</b></font>"; ?>
</td>
<td>
<?php echo $form->labelEx($model,'ora_consegna'); ?><br />
<?php echo $form->hiddenField($model,'ora_consegna',array('value'=>'00:00:00', 'type'=>"hidden", 'size'=>10,'maxlength'=><img src='http://www.yiiframework.com/forum/public/style_emoticons/default/cool.gif' class='bbc_emoticon' alt='8)' />); ?>
<?php echo "<font color='#000000'><b>" .$form->error($model,'ora_consegna')."</b></font>"; ?>
</td>
<td>
<?php echo $form->labelEx($model,'agenzia_mitt'); ?><br />
<?php echo $form->hiddenField($model,'agenzia_mitt',array()); ?>
<?php echo "<font color='#000000'><b>" .$form->error($model,'agenzia_mitt')."</b></font>"; ?>
</td>
<td>
<?php echo $form->labelEx($model,'agenzia_dest'); ?><br />
<?php echo $form->hiddenField($model,'agenzia_dest',array()); ?>
<?php echo "<font color='#000000'><b>" .$form->error($model,'agenzia_dest')."</b></font>"; ?>
</td>
</table>
<?php echo CHtml::submitButton('Torna Indietro', array('name'=>'step1')); ?>
<?php echo CHtml::submitButton('Conferma',array('name'=>'finish')); ?>
<?php $this->endWidget(); ?>
</div>
Ahora lo que quiero hacer en el Step 1 es poner mi javascript en la variable "$parole" (final de el Step1):
Entonces:
<?php echo $form->labelEx($model,'testo'); ?><br />
<?php echo $form->textArea($model,'parole',array('rows'=>6, 'cols'=>20, 'maxlenght'=>'1500')); ?>
<?php echo "<font color='#000000'><b>" .$form->error($model,'parole')."</b></font>"; ?><br />
/* TENGO QUE QUITAR EL $form->textArea "parole" Y PONER ESTO: */
<form name="telegramma" action="step2.php" method="post">
<script type="text/javascript">
function countwords()
{
var formtext=document.telegramma.text.value;
formtext=formtext.split(" ");
document.telegramma.nbwords.value= formtext.length;
document.telegramma.nbchar.value= document.telegramma.text.value.length;
}
</script>
<textarea rows="12" name="text" cols="60" wrap="virtual"></textarea></table>
<table align="center" width="50" cellspacing="0" cellpadding="10">
<td align="center">
<input type="submit" value="Avanti" onclick="javascript:countwords();">
<input type="hidden" name="nbwords" />
<input type="hidden" name="nbchar" />
</td></table>
</form>
El javascript me calcula el total de parablas que el usuario escribe en el textArea y pasa esa variable ($nbwords) gracias al metodo "post" (a mi que se la pase con post o con get me da iguale) a la pagina de controllo (Step 2 de formulario) donde hay el codigo php que dice a el usuario cuanto tiene que pagar.
Y entonces en el Step 2 tengo que insertar esto:
<?php
$text = $_POST['text'];
$nbwords = $_POST['nbwords'];
$precio = 9999.00;
if ($nbwords < 501){
$precio = 29.95;
}
if ($nbwords < 201){
$precio = 16.95;
}
if ($nbwords < 101){
$precio = 9.75;
}
if ($nbwords < 51){
$precio = 6.50;
}
if ($nbwords < 21){
$precio = 4.40;
}
?>
/* AQUI TIENE QUE SALIR EL TOTAL QUE TIENE QUE PAGAR EL USUARIO GRACIAS A LA VARIABLE $nbwords Y A EL CODIGO PHP CON EL CUAL SE HACE EL CALCULO. */
<?php echo $form->labelEx($model,'precio'); ?><br />
<?php echo $form->textField($model,'precio',array('size'=>10,'maxlength'=>5)); ?>
<?php echo "<font color='#000000'><b>" .$form->error($model,'precio')."</b></font>"; ?>
Que sea un
<?php print $precio €
o un textfield me da igual. El importante es que se calcule el total.
No se sy lo he esplicado bien
… pues mi espanol también no es bueno.
Como siempre Gracias!!!