2014-07-15 80 views
0

我知道這個問題已經在這裏問了很多時間,但我仍然無法找到解決我的問題的方法。我有一個textarea在我的asp.net mvc應用程序中有一個佔位符。Internet Explorer 8&9中的佔位符

<textarea placeholder="Write Query..." maxlength="1000"></textarea> 

現在的Internet Explorer 8 & 9不支持佔位符屬性,因此我需要一些解決方法,我有搜索結果和谷歌,發現各種的JavaScript但不幸的是那些沒有工作的。雖然有些工作(如顯示佔位符文本),但該文本並沒有在textArea

這些腳本的兩個寫作消失(即工作一半是對的)是這些:

$(function() { 
    if (!$.support.placeholder) { 
     var active = document.activeElement; 
     $('input[type="text"], textarea').focus(function() { 
      if ($(this).attr('placeholder') != '' && $(this).val() == $(this).attr('placeholder')) { 
       $(this).val('').removeClass('hasPlaceholder'); 
      } 
     }).blur(function() { 
      if ($(this).attr('placeholder') != '' && ($(this).val() == '' || $(this).val() == $(this).attr('placeholder'))) { 
       $(this).val($(this).attr('placeholder')).addClass('hasPlaceholder'); 
      } 
     }); 
     $('input[type="text"], textarea').blur(); 
     $(active).focus(); 
     $('form').submit(function() { 
      $(this).find('.hasPlaceholder').each(function() { $(this).val(''); }); 
     }); 
    } 
}); 

二:

$(function() { 
    if ($.browser.msie && $.browser.version <= 9) { 
     $("[placeholder]").focus(function() { 
      if ($(this).val() == $(this).attr("placeholder")) $(this).val(""); 
     }).blur(function() { 
      if ($(this).val() == "") $(this).val($(this).attr("placeholder")); 
     }).blur(); 

     $("[placeholder]").parents("form").submit(function() { 
      $(this).find('[placeholder]').each(function() { 
       if ($(this).val() == $(this).attr("placeholder")) { 
        $(this).val(""); 
       } 
      }) 
     }); 
    } 
}); 
+0

我認爲您需要區分您的問題與其他人,否則這將會以重複的方式關閉 – TankorSmash

回答