2

WordPress サイトで Contact Form 7 を使用しています。残念ながら、プラグインには「クリック時にフィールドをクリアする」機能がデフォルトで組み込まれておらず、使い勝手が悪いです。

これを機能させるためのテーマ関数を作成しましたが、ほぼ完了していますが、すべてを期待どおりに機能させるには、jQuery のスキルが優れている人が必要です。これが私のコードです:

// Clear Formfields
function clearfield() {
?>
<script type="text/javascript">
    jQuery(document).ready(function($) {
         $(".clearfields").click(function () {
            var text = $(this).text();
                $(".clearfields").val("");
            });                             
    });
</script>
<?php
}
add_action( 'wp_footer', 'clearfield', 100 );

プラグインを変更せずに入力フィールドを操作することはできませんが、クラスを追加することはできます。現在私は持っています:

<input class="clearfields" type="text" value="enter name etc">

現在、これはクラス .clearfields のフィールドをクリアしますが、ユーザーがクリックしたフィールドだけをクリアしたいだけです。現時点では、すべてのフィールドにクラスが適用されているため、すべて (名前、電子メール、会社など) がクリアされます。 .

これに加えて、現在の設定では、送信ボタンをクリックした後にフォームが送信されたように見えても、メールが届かないため、コードに問題があります。

誰でも助けることができますか?

4

7 に答える 7

5

Contact Form 7 には明確な価値があります...使用するだけです: 透かし

[text* txtName watermark   "Name: "]
于 2012-09-20T21:59:41.060 に答える
2

wordpress 用の cf7 の最新バージョンでは、次のコードを追加してフィールドのリセット/クリア ボタンを追加できます。

<input type="reset" class='btn btn-primary' />

デフォルトでは、リセット ボタンはスタイルを継承しないため、通常のスタイルのないボタンのように表示されます。上記のように、任意の CSS スタイルを適用できます。

「送信」ボタンと「リセット」ボタンを同じスタイルで並べて表示するサンプル フォーム コードを次に示します。

[submit class:btn class:btn-primary]<input type="reset" class='btn btn-primary' />

ライブ プレビューはこちら: http://www.ewallzsolutions.com/free-quote/

于 2015-08-20T12:44:33.550 に答える
2

私は同様に同じ問題に直面していたので、非表示の入力リセットボタンを作成し、jqueryでトリガーすることでこれを解決しました

HTML

<input type="reset" id="reset" class="sr-only">

Jクエリ

$("#reset").trigger('click'); 
于 2017-04-06T09:25:49.327 に答える
0

これが実際の例です:http://jsfiddle.net/cyVyZ/

HTML コード:

<input type="text" id="field1" class="clearfields" value="field 1" />
<input type="text" id="field2" class="clearfields" value="field 2" />
<input type="text" id="field3" class="clearfields" value="field 1" />

jQuery コード:

(function($) {
  $('.clearfields').bind('focus', function() {
    $(this).val('');
  });
})(jQuery);
于 2012-09-20T21:00:53.537 に答える
0

フォーカスのデフォルト値をクリアし、ぼかしでその値を取り戻すことができます。

例はここにあります: jsfiddle

jQuery コード:

$.fn.defaultValue = function(){              
         return this.each(function(){ 
            var default_value = $(this).val(); 
            var $this = $(this);        

            $this.focus( function() {    
                if ($this.val() == default_value) $(this).val("");
                });
            $this.blur( function() {
                if ($this.val().length == 0){
                    $this.val(default_value); 
                }
            })            
         }); 
         }; 
于 2012-09-20T21:06:02.903 に答える
0

contactform7 でクリック時にテキストボックスの値をクリアする方法についての完全な回答は次のとおりです

于 2012-09-21T08:18:31.490 に答える