2015-08-08 42 views
0
<script type="text/javascript"> 
 
jQuery(function() { 
 
var default_val = "Name"; 
 
jQuery("input[name='first_name']").val(default_val) 
 
.focus(function() { 
 
if (jQuery(Name).val() == default_val) { 
 
jQuery(this).val("") 
 
} 
 
}); 
 
var default_val = "Email Address"; 
 
jQuery("input[name='email']").val(default_val) 
 
.focus(function() { 
 
if (jQuery(this).val() == default_val) { 
 
jQuery(this).val("") 
 
} 
 
}); 
 
var default_val = "Practice Name"; 
 
jQuery("input[name='practice_name']").val(default_val) 
 
.focus(function() { 
 
if (jQuery(this).val() == default_val) { 
 
jQuery(this).val("") 
 
} 
 
}); 
 
var default_val = "Practice Website URL"; 
 
jQuery("input[name='practice_url']").val(default_val) 
 
.focus(function() { 
 
if (jQuery(this).val() == default_val) { 
 
jQuery(this).val("") 
 
} 
 
}); 
 
var default_val = "Telephone"; 
 
jQuery("input[name='phone_number']").val(default_val) 
 
.focus(function() { 
 
if (jQuery(this).val() == default_val) { 
 
jQuery(this).val("") 
 
} 
 
}); 
 
}); 
 

 
</script>
+0

請發表您的完整代碼,最好是演示。 –

+1

你只有一個'default_val'變量。每次你將它設置爲等於某個值時,你就會覆蓋以前的值。 – Stryner

+0

那麼我只需要像「default_val_1」一樣添加一個數字? – IVLEAGUE

回答

0

您可以使用不同的變量爲每個輸入設定的默認值,以避免重寫值。例如:

HTML:

<input name="practice_url" value="" /> 
<input name="phone_number" value="" /> 

JS:

jQuery(function() { 
var default_val_practice_url = "Practice Website URL"; 
jQuery("input[name='practice_url']").val(default_val_practice_url) 
.focus(function() { 
if (jQuery(this).val() == default_val_practice_url) { 
jQuery(this).val("") 
} 
}); 
var default_val = "Telephone"; 
jQuery("input[name='phone_number']").val(default_val) 
.focus(function() { 
if (jQuery(this).val() == default_val) { 
jQuery(this).val("") 
} 
}); 
}); 

JS提琴: http://jsfiddle.net/22mo0mL3/ 順便說一句,你可以使用jQuery佔位符庫。這也很酷! (https://github.com/mathiasbynens/jquery-placeholder

+0

謝謝你的幫助,我開始明白了。 – IVLEAGUE

+0

如果你認爲答案是你接受的,那麼請檢查它以幫助其他人很容易看到並找出答案。 – secretlm

0

您正在使用default_val的一切。而不是使用的,使用的變量名有意義像deafult_namedefault_emaildefault_url等。此外,它可能是最好的做法是把這些類的靜態變量的代碼的頂部

0

注意:您應該考慮使用代替placeholder attribute


您正在使用的是傳遞給.focus()方法的回調函數裏面default_val變量。當調用回調函數時,該變量的值不是調用.focus()方法時的值。

您可以將您的重複的代碼放到一個函數:

jQuery(function($) { 
    function setDefaultValue($input, defaultValue) { 
     $input.val(defaultValue).focus(function() { 
      var $input = $(this); 
      if ($input.val() == defaultValue) { 
       $input.val(""); 
      } 
     }); 
    } 

    setDefaultValue($("input[name='first_name']"), "Name"); 
    setDefaultValue($("input[name='email']"), "Email Address"); 
    setDefaultValue($("input[name='practice_name']"), "Practice Name"); 
    setDefaultValue($("input[name='practice_url']"), "Practice Website URL"); 
    setDefaultValue($("input[name='phone_number']"), "Telephone"); 
}); 

注:

  1. jQuery對象作爲參數傳遞給回調傳遞給jQuery()功能函數傳遞。上面的代碼使用這個事實,因此可以使用$安全地引用jQuery對象。
  2. 在傳遞給焦點方法的回調函數中,this引用調用.focus()的元素。
+0

我看到你在那裏做了什麼。感謝您的幫助! – IVLEAGUE