0

問題:

JQTransformを使用して、連絡先ページの見栄えの良いフォームをすばやく取得したいサイトで作業しています。また、お客様ががらくたにならないように、reCAPTCHAを追加することにしました。テキストボックスのJQTransformスタイルの問題が発生し、reCAPTCHAの要素が置き換えられました。

簡単な修正が必要なタイプの問題のように見えましたが、しばらく苦労しました。

私は次の場所で解決策を試しました: JQTransform-要素をスタイリングから除外しますか?

これは問題を解決しませんでしたし、「JQTransformに要素のJQTransformingを停止させる方法」に対する他のいくつかの回答もありませんでした。質問。

使用可能な結果を​​生み出したのは、次のことです。

    <script type="text/javascript">
            var RecaptchaOptions = {
                theme: 'clean'
            };
    </script>

これにより、reCAPTCHAがとにかくフォームで見栄えのする形式に変更されます。ただし、2つのテキストボックススタイルが残ります。1つは通常のデフォルトのテキストボックスで、もう1つはJQTransformの丸みを帯びた角で、ホバー/フォーカステキストボックスは水色です。

それから私は追加しました:

    $(function () {
        $( "#recaptcha_response_field" ).attr('style', 'border: 0px; padding: 5px; solid #3c3c3c; width: 302px;');
    });

これにより、reCAPTCHAのテキストボックスのスタイルが変更されます。これで、テキストボックスはフォームの他の入力と同じようになります。結果にはかなり満足しています。

(私はあなたが今尋ねていることを知っています:「それなら、なぜあなたはここにいるのですか?」)

質問:

divでラップすることにより、JQTransformに入力やチェックボックスなどを無視させる方法はあります<form></form>か?

将来、他のプラグインでJQTransformを使用したい場合は、次のようなdivにドロップインできるようにしたいと思います。

    <div class="donot-jqtransform">
        <?php
            echo printCaptchaPlugin();
        ?>
    </div>

また

    <div class="donot-jqtransform">
        <%= PrintPasswordValidationPlugin() >
    </div>

そうすれば、コードがフォームに何をもたらすかを心配する必要がなく、意図したとおりに機能して表示されます。そもそも抽象化するという発想ですね。したがって、reCAPTCHAを別のオプションに切り替えたい場合は、printCaptchaPlugin()関数のコードを置き換えるだけで、それを使用するすべてのフォームですべてがbacon(good)になります。

4

2 に答える 2

0

well i've made a new library - csTransPie – basing it on jqtransform – jqtransform is a great library but it really has many problems

I'm creating regular input fields (css styled) and you won't have those problems

https://github.com/pkoretic/csTransPie

It’s a work in progress but even now it’s better than jqtransform (more than half of the css rewritten, many bugs solved, clean css…)

now you can use it per element with just one class!

all suggestions are welcome!

于 2012-01-31T13:03:51.383 に答える
0

古い回答済みの質問に積み上げるのが悪い形式である場合は申し訳ありませんが、同じ問題があったため、これを見つけました。

プロジェクトに別のライブラリを追加したくなかったので、jqtransform.js を修正して、この行を TextArea ハンドラーに含めました (221 行目)。

if (textarea.parents().hasClass('jqTransformIgnore')) { return; }

次に、jqtransformIgnore クラスを recaptcha div に追加する必要がありました...

<div class="g-recaptcha jqTransformIgnore" data-sitekey="blahblahblah"></div>

...そして、それでうまくいきました!

于 2015-01-05T16:10:43.123 に答える