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