我一直在讨论将Drupal表单放在Lightbox2灯箱中的问题。
也许是错误的,我在提交表单之前已经使用了javascript中的所有验证(我无法正常验证返回灯箱内的表单)。
无论如何,我正在使用:
$form['#attributes']['onsubmit'] = 'return Drupal.mymodule.validateMailForm();';
它工作正常。
接下来是ReCaptcha测试。
if (validation == 'failed') {
return false;
}
else {
return Drupal.mymodule.validateCaptcha();
}
当我最终得到recaptcha以停止提交表单而不管recaptcha结果时(我将函数换成'return false'),我在validateCaption()函数中发现了这个:
challengeField = $("input#recaptcha_challenge_field").val();
responseField = $("input#recaptcha_response_field").val();
console.log(challengeField);
console.log(responseField);
两个变量都是'未定义'。 HMM。
所以有两个较小的问题('为什么不是jquery获取值?'和'onsubmit属性可以说服提交函数在它开展业务时等待吗?')和一个大问题:
有没有人设法结合Drupal表格,灯箱和Recaptcha?
修改 问题的第二部分--jquery没有拿起值 - 是因为我在灯箱内使用了iframe(我不能让它保持不变)。用以下内容替换上面的选择:
challengeField = $('#iframeID').contents().find('input#recaptcha_challenge_field').val();
在那里做了伎俩。
如果我能进一步解决这个问题,我会报告回来......
答案 0 :(得分:0)
如果您正在使用jQuery来捕获值,那么我认为您需要jQuery来处理提交事件,如下所示:
$("form#attributes").submit(function () { ... });
我对上述假设并不是100%肯定。有人在意吗?