0

こんにちは、プラグインにオブジェクト内の関数を実装したいと考えています。目標は次のとおりです。デフォルト値を持つ多くの入力があります。クリックすると、値が「デフォルト値」の場合、内部のテキストがキャンセルされます。そして、これは機能します。問題は次のとおりです。フォームを送信するときに、パラメーターをチェックする関数を呼び出します。入力タイプにデフォルト値がある場合は、値をキャンセルします。しかし今では、すべてのオブジェクトではなく、最後の要素だけがそれを行います。プラグインのメイン関数内に関数を作成しました。送信時にプラグイン内のすべてのオブジェクトをチェックし、デフォルト値があるかどうかをチェックする方法は?

私のプラグイン:

(function($){
     $.fn.extend({      
        contact: function(options) {
            var defaults = {
            }

            var options =  $.extend(defaults, options);

            return this.each(function() {
                var o = options;
                var obj = $(this);      
                var value_base = obj.val();

                obj.click(function(){
                    if(obj.val()== value_base){
                        obj.val("");
                    }
                });
                obj.blur(function() {
                    if (obj.val() == ''){
                        obj.val(value_base);
                    }
                });

                $.fn.afterSubmit = function(options) {
                    if(obj.val()== value_base){
                        obj.val("");
                    }
                };

            });
        }
    });     
})(jQuery);

私のページ内のコード

<script type="text/javascript">
$(document).ready(function() {
    $('.contact').contact();
});
function autoriz(){
    $('.contact').afterSubmit();
    return false;
}
</script>
<form method="post" action="contatti.php" onSubmit="return autoriz();" enctype="multipart/form-data" name="contatti">
   <input type="text" name="name" class="contact" value="Name" id="name"/>
   <input type="text" name="surname" class="contact" value="Surname" id="surname"/>
</form>
4

1 に答える 1

1

このフィドルを見てみましょうhttp://fiddle.jshell.net/YskZy/

この例では、フォーム ID を渡すイベント送信をバインドするため、フォームが送信される前にデフォルト値をクリアできます。

于 2013-01-18T11:04:17.540 に答える