问题是:
我在一个网站上工作,我想使用JQTransform为联系人页面快速获得一个好看的表单。此外,为了避免客户收到垃圾邮件,我决定添加reCAPTCHA。我遇到了textbox的JQTransform样式问题,导致reCAPTCHA中的元素被替换。
这似乎是那种可以简单解决的问题,但我挣扎了一段时间。
我尝试过这个解决方案,网址是:JQTransform - Exclude an element from styling?
这并没有解决问题,"How do you make JQTransform stop JQTransforming a element?“的其他一些答案也没有解决问题。有个问题。
产生有用结果的是添加:
<script type="text/javascript">
var RecaptchaOptions = {
theme: 'clean'
};
</script>这会将reCAPTCHA更改为在表单中看起来更好的格式。但它留下了两种文本框样式。一个是您正常的默认文本框,另一个是JQTransform圆角,悬停/焦点时浅蓝色的文本框。
然后我加了一句:
$(function () {
$( "#recaptcha_response_field" ).attr('style', 'border: 0px; padding: 5px; solid #3c3c3c; width: 302px;');
});这会改变reCAPTCHA为textbox设置的样式。现在,textbox看起来就像表单的其他输入。我对结果很满意。
(我知道你现在在问:“那你为什么在这里?”)
问题是:
有没有一种方法可以让JQTransform忽略<form></form>中的任何输入、复选框等?
如果将来我想将JQTransform与其他插件一起使用,我希望能够将其放入一个div中,如下所示:
<div class="donot-jqtransform">
<?php
echo printCaptchaPlugin();
?>
</div>或
<div class="donot-jqtransform">
<%= PrintPasswordValidationPlugin() >
</div>这样一来,我就不必担心代码会给表单带来什么,它就会正常工作,看起来也像预期的那样。这就是将抽象放在首位的想法,对吧?因此,如果我想用另一个选项切换reCAPTCHA,我所要做的就是替换printCaptchaPlugin()函数中的代码,并且对于使用它的任何形式,都应该是bacon(好)。
发布于 2012-01-31 21:03:51
我在jqtransform的基础上做了一个新的库- csTransPie - jqtransform是一个很棒的库,但它确实有很多问题
我正在创建常规的输入域(css样式),您不会遇到这些问题
https://github.com/pkoretic/csTransPie
这是一项正在进行中的工作,但即使是现在,它也比jqtransform更好(超过一半的css重写,解决了许多but,干净的css…)
现在你只需要一个类就可以按元素使用它了!
欢迎所有的建议!
发布于 2015-01-06 00:10:43
很抱歉,如果在一个旧的回答问题上插入是不好的,但我发现这是因为我也有同样的问题。
我不想将另一个库添加到我的项目中,所以我修改了jqtransform.js,以便在TextArea处理程序中包含下面这一行(第221-ish行)
if (textarea.parents().hasClass('jqTransformIgnore')) { return; }然后我只需要将jqtransformIgnore类添加到recaptcha div...
<div class="g-recaptcha jqTransformIgnore" data-sitekey="blahblahblah"></div>..。这就成功了!
https://stackoverflow.com/questions/8967205
复制相似问题