Perdida De Valores Propiedad 'name'

Hola tengo mi formulario con el siguiente código, realiza la operación de sumar correctamente, pero al momento de guardar, no manda ningún campo que tenga la propiedad "name" en la base de datos, ya probe quitandole esa propiedad y funciona correctamente pero la necesito para que realice la suma, ayuda!!!

<?php echo $form->labelEx($model,‘var1’); ?>

<?php echo $form->textField($model,‘var1’,array(‘value’=>0,‘name’=>‘var1’,‘id’=>‘var1’,‘onChange’=>‘js:suma()’));?>

<?php echo $form->error($model,‘var1’); ?>

<?php echo $form->labelEx($model,‘var2’); ?>

<?php echo $form->textField($model,‘var2’,array(‘value’=>0,‘name’=>‘var2’,‘id’=>‘var2’,‘onChange’=>‘js:suma()’));?>

<?php echo $form->error($model,‘var1’); ?>

<script>

        function suma(){


            var num1 = parseInt(document.getElementById('var1').value);


            var num2 = parseInt(document.getElementById('var2').value);


            var result = num1 + num2;


            if (result &lt; 0){


                document.getElementById('result').value = 0;


            }else{


                document.getElementById('resul').value = result;


            }


        }


    &lt;/script&gt;

creo que tienes un error aquí




document.getElementById('resul').value = result;




no te hace falta una t ? result

Por supuesto que no te la guarda, pero no pq no te la guarde pq sí, sino pq no lo estás haciendo bien.

Me explico.

Yii automáticamente dá un "name" a los controles que guardarán sus propiedades. Así cuando haces un




$model->attributes = $_POST['nombreModelo'];



en tu controlador, recoge las propiedades correctamente pq Yii sabe sus nombres defecto.

Pero tú estás cambiando ese nombre, y no sé pq ya que no te hace falta para nada. Si sólo le quitas la propiedad "name" a tus controles te funcionará correctamente, ya que en tu script recoges los elementos por id, no por nombre.

De todas formas te explico las opciones que tienes:

1- No cambiar el name explícitamente y utilizar el que Yii le dá (una vez cargado el formulario ves el código fuente desde el navegador y verás el nombre que Yii le dá). Lo utilizas donde necesites y listo. Peor ya te digo, no entiendo pq le quieres cambiar el nombre para lo que deseas hacer. No te hace falta.

2- Le añades tu propio name, entonces en tu controlador:




$model->var1 = $_POST['var1'];



Un saludo.