Php 无模型和无活动表单的验证码
如果不使用模型规则和ActiveForms,如何使用CCaptchaPhp 无模型和无活动表单的验证码,php,yii,Php,Yii,如果不使用模型规则和ActiveForms,如何使用CCaptcha 只需创建并检查。e、 g.通过AJAX我建议对表单使用Yii模型,即使您正在制作模式AJAX表单 只需绑定onsubmit方法,就可以使用表单数据进行ajax调用,而不是重新加载整个页面 我可以在此页面上向您展示此Ajax表单示例: 使用Yii并具有验证码 在本例中,它不是模态,而是带有captcha的Ajax表单 jQuery('#contactar_submit_btn').click(function(){ v
只需创建并检查。e、 g.通过AJAX我建议对表单使用Yii模型,即使您正在制作模式AJAX表单 只需绑定onsubmit方法,就可以使用表单数据进行ajax调用,而不是重新加载整个页面 我可以在此页面上向您展示此Ajax表单示例: 使用Yii并具有验证码 在本例中,它不是模态,而是带有captcha的Ajax表单
jQuery('#contactar_submit_btn').click(function(){
var submit_label = jQuery('#contactar_submit_btn').attr('value');
jQuery('#contactar').ajaxSubmit(
{'dataType': 'json', 'success': function(data) {
jQuery('#contactar_submit_btn').attr('disabled', false);
jQuery('#contactar_submit_btn').attr('value', submit_label);
var timestamp = Number(new Date());
var csrc = jQuery('#contactarCCaptcha').attr('src');
jQuery('.captcha_image').attr('src',csrc+'?t='+timestamp);
if (data.error.length > 0)
alert(data.error);
else {
jQuery('#contactar_target').html(data.success);
jQuery('#contactar').resetForm();
jQuery('#contactar_target').show();
}
},
'beforeSubmit': function() {
jQuery('#contactar_target').hide();
jQuery('#contactar_submit_btn').attr('value','enviando..');
jQuery('#contactar_submit_btn').attr('disabled', true);
}});
});
使验证码正常工作的诀窍是使用原始url中的随机参数刷新图像。这是必需的,因为如果我们保持相同的图像但发送ajax请求,那么如果用户多次单击submit,则验证码将不匹配
我经常使用的另一种方法是:
1.在我通过ajax加载的控制器内创建完整的Yii表单,并在带有ID的模式中显示
2.单击submit时,对同一控制器进行ajax调用,并用ajax响应完全替换模式ID内容
希望它能对你有所帮助 例如,我有一个带有captcha字段的模式窗口,所以所有的数据传输都是简单的AJAX…我们能看到您正在使用的代码吗?如果你能告诉我们,我们可能会提供帮助。我有一个模式窗口,其中包含用户名和文本字段。获取XMLHttpRequest数据的Ajax处理程序。需要在表单上添加验证码。