Слияние кода завершено, страница обновится автоматически
<?php
/**
* Created by PhpStorm.
* User: xin
* Date: 16/12/22
* Time: 下午2:25
*/
namespace ga\captcha;
use yii\widgets\InputWidget;
use yii\helpers\Html;
use yii\helpers\Url;
class CaptchaWidget extends InputWidget
{
public $captchaAction = 'site/captcha';
public $template = '{input}{image}';
public $imageOptions;
private $imageID = 'ga-captcha';
public function run()
{
$this->reloadID();
$this->registerJS();
if ($this->hasModel()) {
$input = Html::activeTextInput($this->model, $this->attribute, $this->options);
} else {
$input = Html::textInput($this->name, $this->value, $this->options);
}
$route = Url::toRoute($this->captchaAction);
$image = Html::img($route, $this->imageOptions);
echo strtr($this->template, [
'{input}' => $input,
'{image}' => "<a href='#'>$image</a>",
]);
}
protected function reloadID()
{
if (empty($this->imageOptions)) {
$this->imageOptions['id'] = $this->imageID;
} else {
$this->imageID = $this->imageOptions['id'];
}
}
protected function registerJS()
{
$js = <<<JS
jQuery(window).ready(function(){
var dom = jQuery('#$this->imageID');
var id = 1;
dom.click(function(){
dom.attr('src', '/' + '$this->captchaAction' + '?id=' + id);
id++;
});
});
JS;
$this->getView()->registerJs($js);
return $js;
}
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )