我在YII中向Jquery发送Id变量时未显示的表单中的ClientValidation

时间:2015-02-24 05:42:45

标签: yii

我在Yii需要帮助,我的形式出现问题,问题是如果我在文本字段中输入id然后客户端验证没有显示该字段,但另一个字段没有问题。这是我的代码

<div class="row">
        <?php echo $form->labelEx($model,'latar_belakang'); ?>
        <?php echo $form->textField($model,'latar_belakang',array('id' => 'latarbelakang','class' => 'input-block-level')); ?>
        <?php echo $form->error($model,'latar_belakang'); ?>

        <?php echo $form->labelEx($model,'rumusan_masalah'); ?>
        <?php echo $form->textField($model,'rumusan_masalah',array('id' => 'rumusanmasalah','class' => 'input-block-level')); ?>
        <?php echo $form->error($model,'rumusan_masalah'); ?>
    </div>

因为你知道我在文本字段中使用id来计算字段与jquery我放入表单。这是我的表单中的jquery代码

 Yii::app()->clientScript->registerCoreScript('jquery');

        Yii::app()->clientScript->registerScript('totalValues',"
                function totalValues()
                {
                    var lb =    $('#latarbelakang').val() ;
                    var rm =    $('#rumusanmasalah').val();
                    var tot  = parseInt(lb) + parseInt(rm);
                $('#nilaiakhir').val( tot );
                }
        ", CClientScript::POS_HEAD);

        Yii::app()->clientScript->registerScript('changeTotals', "      
                $('#latarbelakang').change( function(){ totalValues(); } );
                $('#rumusanmasalah').change( function(){ totalValues();} );
        ", CClientScript::POS_END);

我必须做什么?解决这个问题? 谢谢B4 ..

1 个答案:

答案 0 :(得分:0)

默认情况下,Yii使用模型名称和字段名称动态生成字段ID。

例如,密码&#39; &#39;用户&#39;的领域模型ID将是&#39; User_password&#39;

您可以使用firebug检查字段(您没有提供自定义ID)并查看自动生成的ID。 yii也会将错误消息与那些自动生成的id作为响应进行映射。这就是您的错误消息未显示的原因。

你可以做的是尝试使用yii生成的id调用该js函数。