問題:
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)になります。