【发布时间】:2011-09-04 08:05:08
【问题描述】:
我想强制我的网站在每次加载时刷新验证码图像,所以我有一个由 onload() 事件触发的 javascript 方法。这里我有以下行:
document.getElementById('yw0_button').click;
Firebug 没有检测到任何错误,出于测试目的,我在显示的行之后添加了一个警报,每次加载页面时都会弹出警报。但是,图像不刷新!
这是我认为与视图文件相关的内容:
<?php if(extension_loaded('gd')): ?>
<div class="row">
<?php echo $form->labelEx($model,'verifyCode'); ?>
<div>
<?php
$this->widget('CCaptcha',
array('showRefreshButton'=>true,
'buttonType'=>'button',
'buttonOptions'=>
array('type'=>'image',
'src'=>"/path/images/refresh-icon.png",
'width'=>30,
),
'buttonLabel'=>'Refrescar imagen'),
false);
?>
<br>
<?php echo $form->textField($model,'verifyCode'); ?>
</div>
<div class="hint">
Porfavor ingrese las letras como las ve en la imagen superior.
<br/>No hay distincion entre minúsculas y mayúsculas.</div>
</div>
<?php endif; ?>
有什么想法吗?
@k to the z 刚刚看到这个!是的,如果你能帮我找到更合适的解决方案,那就太棒了!这就是我认为与视图文件相关的内容:
<?php if(extension_loaded('gd')): ?>
<div class="row">
<?php echo $form->labelEx($model,'verifyCode'); ?>
<div>
<?php
$this->widget('CCaptcha',
array('showRefreshButton'=>true,
'buttonType'=>'button',
'buttonOptions'=>
array('type'=>'image',
'src'=>"/path/images/refresh-icon.png",
'width'=>30,
),
'buttonLabel'=>'Refrescar imagen'),
false);
?>
<br>
<?php echo $form->textField($model,'verifyCode'); ?>
</div>
<div class="hint">
Porfavor ingrese las letras como las ve en la imagen superior.
<br/>No hay distincion entre minúsculas y mayúsculas.</div>
</div>
<?php endif; ?>
在控制器中,我将 accessRules() 方法中的授权用户权限授予验证码操作,仅此而已。还有什么可以发的吗?
【问题讨论】:
-
首先,您需要
click(),而不是click- 您需要调用该方法,而不是获取其内容。 -
是的,当然,你是对的,出于绝望,我尝试了几种替代方法,似乎我在这里粘贴了其中一种。使用 click() 它不起作用.. html 显示:Refrescar imagen 我的表单中有一个按钮,如下所示: 和相关的函数 function CallFunction() { document.getElementById('yw0_button').click();这不起作用。我错过了什么?非常感谢 Piskvor
-
这很奇怪。每次我刷新页面时,验证码图像都会发生变化。您可以发布相关的 MVC 文件,我们可以尝试看看这里发生了什么。 (如果你喜欢,因为你已经有工作了)
-
亲爱的 Soph,我认为问题的标题可以重命名为常见的名称,例如“如何使用 YII 框架刷新验证码图像?”。你可以看看我下面的建议。希望你会喜欢。
-
@Ezze 谢谢 Ezze!刚改了名字。
标签: javascript frameworks refresh captcha yii