如何在jquery.dialog中显示Captcha

时间:2014-07-06 07:45:27

标签: jquery yii capture

如果我想在Yii 1.1.14中显示Captcha,我写的内容如下:

<?php if(CCaptcha::checkRequirements()): ?>
    <li>
        <?php echo $form->labelEx($model,'verifyCode'); ?>
        <div>
            <?php $this->widget('CCaptcha'); ?>
            <?php echo $form->textField($model,'verifyCode'); ?>
        </div>
        <?php echo $form->error($model,'verifyCode'); ?>
    </li>
<?php endif; ?>

我的问题是,我是否可以使用弹出页面显示类似的Captcha(我使用jquery.dialog),因为我没有$ form对象? 其实我想使用CCaptcha类,但不使用其他一些验证码库,因为我想在网站的不同部分有类似的验证码。

1 个答案:

答案 0 :(得分:0)

  1. 对于弹出对话框,我创建了一个绝对定位的窗口,通过js脚本弹出。我也通过js中心。 此窗口很容易以任何形式提交。这非常适合login.registration页面。
  2. 其他选项是您可以使用表单填充弹出窗口。我使用zii.widgets.jui.CJuiDialog(抱歉,如果格式不佳):

    beginWidget( 'zii.widgets.jui.CJuiDialog',阵列( 的 'id'=&GT; '车', //对话框插件的其他javascript选项 '选项'=&GT;阵列(     'title'=&gt; Yii :: t('general','将分类添加到购物车'),     '的AutoOpen'=&GT;假, ) ));  echo Yii :: t('general','输入此分类项的金额');?&gt;

    beginWidget('CActiveForm',数组( 的 'id'=&GT; '品种形式', 'enableAjaxValidation'=&GT;假, '方法'=&GT; '后', 'htmlOptions'=&gt;阵列(    //'enctype'=&gt; “多部分/格式数据”, ) )); ?&GT;     hiddenField($模式, 'ID'); ?&GT;       labelEx($模型, '量'); ?&GT;     widget('ext.select2.ESelect2',array(             '模式'=&GT; $模式,             '属性'=&GT; '量',             'data'=&gt; $的数据,             '选项'=&GT;阵列(                 'allowClear'=&GT;真,                 'width'=&gt; '100',                 'placeholder'=&gt; ',                 //'minimumInputLength'=&gt; 3                 )         ));     // echo $ form-&gt;错误($ model,'amount'); ?&GT; 'btn btn-medium btn-primary','style'=&gt; '浮动:右;')); ?&GT; endWidget(); ?&GT;

    $这 - &GT; endWidget( 'zii.widgets.jui.CJuiDialog'); / **************************** 对话框的结尾 ****** *************************** /

  3. 第二个选项我没有尝试使用验证码,但你可能会这样做。