2010-06-17 59 views
3

我有一個默認文本'寫評論...'的文本區。當用戶更新textarea並點擊「添加評論」時,Google Chrome瀏覽器無法獲取新文本。繼承我的代碼;jQuery - 谷歌瀏覽器不會得到更新的textarea值

function add_comment(token, loader){ 
$('textarea.n-c-i').focus(function(){ 
    if($(this).html() == 'write a comment...') { 
     $(this).html(''); 
    } 
}); 
$('textarea.n-c-i').blur(function(){ 
    if($(this).html() == '') { 
     $(this).html('write a comment...'); 
    }         
}); 
$(".add-comment").bind("click", function() { 
    try{ 
     var but = $(this); 
     var parent = but.parents('.n-w'); 
     var ref = parent.attr("ref"); 
     var comment_box = parent.find('textarea'); 
     var comment = comment_box.val(); 
     alert(comment); 
     var con_wrap = parent.find('ul.com-box'); 
     var contents = con_wrap .html(); 
     var outa_wrap = parent.find('.n-c-b'); 
     var outa = outa_wrap.html(); 
     var com_box = parent.find('ul.com-box'); 
     var results = parent.find('p.com-result'); 
     results.html(loader); 
     comment_box.attr("disabled", "disabled"); 
     but.attr("disabled", "disabled"); 
     $.ajax({ 
      type: 'POST', url: './', data: 'add-comment=true&ref=' + encodeURIComponent(ref) + '&com=' + encodeURIComponent(comment) + '&token=' + token + '&aj=true', cache: false, timeout: 7000, 
      error: function(){ $.fancybox(internal_error, internal_error_fbs); results.html(''); comment_box.removeAttr("disabled"); but.removeAttr("disabled"); }, 
      success: function(html){ 
       auth(html); 
       if(html != '<span class="error-msg">Error, message could not be posted at this time</span>') { 
        if(con_wrap.length == 0) { 
         outa_wrap.html('<ul class="com-box">' + html + '</ul>' + outa); 
         outa_wrap.find('li:last').fadeIn(); 
         add_comment(token, loader); 
        }else{ 
         com_box.html(contents + html); 
         com_box.find('li:last').fadeIn(); 
        } 
       } 
       results.html(''); 
       comment_box.removeAttr("disabled"); 
       but.removeAttr("disabled"); 
      }       
     }); 
    }catch(err){alert(err);} 
    return false; 
}); 

}

任何幫助非常感謝。

+0

當你報告一個問題,你應該一)寫你所期望發生的(你沒有)和** B)寫的東西確實發生了** – 2010-06-17 06:42:41

+0

對不起警報()(19行)的回報'寫評論......'不管textarea中的內容是什麼,只有在chrome中。 – 2010-06-17 06:48:43

回答

7

我相信你應該在textarea上使用val()而不是html()。

請注意,對於Chrome,請在textarea上使用placeholder屬性。你不需要很多這樣的代碼。

<textarea placeholder="Write a comment"></textarea>

+4

我也注意到過去的經驗,當用'innerHTML'更新'」)是錯誤的。它確實應該被當作一個一元標籤('