首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JQTransform和reCAPTCHA玩得不好

JQTransform和reCAPTCHA玩得不好
EN

Stack Overflow用户
提问于 2012-01-23 12:31:14
回答 2查看 253关注 0票数 0

问题是:

我在一个网站上工作,我想使用JQTransform为联系人页面快速获得一个好看的表单。此外,为了避免客户收到垃圾邮件,我决定添加reCAPTCHA。我遇到了textbox的JQTransform样式问题,导致reCAPTCHA中的元素被替换。

这似乎是那种可以简单解决的问题,但我挣扎了一段时间。

我尝试过这个解决方案,网址是:JQTransform - Exclude an element from styling?

这并没有解决问题,"How do you make JQTransform stop JQTransforming a element?“的其他一些答案也没有解决问题。有个问题。

产生有用结果的是添加:

代码语言:javascript
复制
    <script type="text/javascript">
            var RecaptchaOptions = {
                theme: 'clean'
            };
    </script>

这会将reCAPTCHA更改为在表单中看起来更好的格式。但它留下了两种文本框样式。一个是您正常的默认文本框,另一个是JQTransform圆角,悬停/焦点时浅蓝色的文本框。

然后我加了一句:

代码语言:javascript
复制
    $(function () {
        $( "#recaptcha_response_field" ).attr('style', 'border: 0px; padding: 5px; solid #3c3c3c; width: 302px;');
    });

这会改变reCAPTCHA为textbox设置的样式。现在,textbox看起来就像表单的其他输入。我对结果很满意。

(我知道你现在在问:“那你为什么在这里?”)

问题是:

有没有一种方法可以让JQTransform忽略<form></form>中的任何输入、复选框等?

如果将来我想将JQTransform与其他插件一起使用,我希望能够将其放入一个div中,如下所示:

代码语言:javascript
复制
    <div class="donot-jqtransform">
        <?php
            echo printCaptchaPlugin();
        ?>
    </div>

代码语言:javascript
复制
    <div class="donot-jqtransform">
        <%= PrintPasswordValidationPlugin() >
    </div>

这样一来,我就不必担心代码会给表单带来什么,它就会正常工作,看起来也像预期的那样。这就是将抽象放在首位的想法,对吧?因此,如果我想用另一个选项切换reCAPTCHA,我所要做的就是替换printCaptchaPlugin()函数中的代码,并且对于使用它的任何形式,都应该是bacon(好)。

EN

回答 2

Stack Overflow用户

发布于 2012-01-31 21:03:51

我在jqtransform的基础上做了一个新的库- csTransPie - jqtransform是一个很棒的库,但它确实有很多问题

我正在创建常规的输入域(css样式),您不会遇到这些问题

https://github.com/pkoretic/csTransPie

这是一项正在进行中的工作,但即使是现在,它也比jqtransform更好(超过一半的css重写,解决了许多but,干净的css…)

现在你只需要一个类就可以按元素使用它了!

欢迎所有的建议!

票数 0
EN

Stack Overflow用户

发布于 2015-01-06 00:10:43

很抱歉,如果在一个旧的回答问题上插入是不好的,但我发现这是因为我也有同样的问题。

我不想将另一个库添加到我的项目中,所以我修改了jqtransform.js,以便在TextArea处理程序中包含下面这一行(第221-ish行)

代码语言:javascript
复制
if (textarea.parents().hasClass('jqTransformIgnore')) { return; }

然后我只需要将jqtransformIgnore类添加到recaptcha div...

代码语言:javascript
复制
<div class="g-recaptcha jqTransformIgnore" data-sitekey="blahblahblah"></div>

..。这就成功了!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8967205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档