问题:
我正在一个网站上工作,我想使用 JQTransform 快速获得一个漂亮的联系页面表单。另外,为了避免客户收到垃圾邮件,我决定添加 reCAPTCHA。我遇到了文本框的 JQTransform 样式问题,导致 reCAPTCHA 中的元素被替换。
这似乎是可以简单解决的问题类型,但我挣扎了一段时间。
我在以下位置尝试了解决方案: JQTransform - 从样式中排除元素?
这并没有解决问题,对于“如何让 JQTransform 停止 JQTransforming 元素?”的其他一些答案也没有解决。问题。
产生可用结果的是添加:
<script type="text/javascript">
var RecaptchaOptions = {
theme: 'clean'
};
</script>
这会将 reCAPTCHA 更改为在表单中看起来更好的格式。但它留下了 2 个文本框样式。一个是您的正常默认文本框,另一个是 JQTransform 圆角,悬停/焦点文本框为浅蓝色。
然后我补充说:
$(function () {
$( "#recaptcha_response_field" ).attr('style', 'border: 0px; padding: 5px; solid #3c3c3c; width: 302px;');
});
这会改变 reCAPTCHA 对文本框的样式。现在文本框看起来像表单的其他输入。我对结果很满意。
(我知道你现在在问:“那你为什么在这里?”)
问题:
有没有办法让 JQTransform<form></form>
通过将它们包装在 div 中来忽略其中的任何输入、复选框等?
如果将来我想将 JQTransform 与其他插件一起使用,我希望能够将它放入一个 div 中,例如:
<div class="donot-jqtransform">
<?php
echo printCaptchaPlugin();
?>
</div>
或者
<div class="donot-jqtransform">
<%= PrintPasswordValidationPlugin() >
</div>
这样我就不必担心代码会带入表单中,它会按预期工作和看起来。这就是首先进行抽象的想法,对吗?因此,如果我想用另一个选项切换 reCAPTCHA,我所做的就是替换 printCaptchaPlugin() 函数中的代码,对于使用它的任何形式,所有代码都应该是 bacon(good)。