Google chrome jQuery-googlechrome赢得';无法获取更新的textarea值
我有一个默认文本为“写评论…”的文本区。当用户更新文本区域并单击“添加评论”时,Google chrome不会获得新文本。这是我的密码Google chrome jQuery-googlechrome赢得';无法获取更新的textarea值,google-chrome,textarea,Google Chrome,Textarea,我有一个默认文本为“写评论…”的文本区。当用户更新文本区域并单击“添加评论”时,Google chrome不会获得新文本。这是我的密码 function add_comment( token, loader ){ $('textarea.n-c-i').focus(function(){ if( $(this).html() == 'write a comment...' ) { $(this).html(''); } }); $('textarea.n-c
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;
});
函数添加注释(令牌、加载器){
$('textarea.n-c-i').focus(函数(){
如果($(this.html()=='写评论…'){
$(this.html(“”);
}
});
$('textarea.n-c-i').blur(函数(){
如果($(this.html()=''){
$(this.html('write a comment…');
}
});
$(“.add comment”).bind(“单击”,函数(){
试一试{
var但是=$(这个);
var parent=but.parents('.n-w');
var ref=父属性(“ref”);
var comment_box=parent.find('textarea');
var comment=comment_box.val();
警惕(评论);
var con_wrap=parent.find('ul.com框');
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');
html(loader);
注释箱属性(“禁用”、“禁用”);
但是。attr(“残疾”、“残疾”);
$.ajax({
键入:“POST”,url:“./”,数据:“add comment=true&ref='+encodeURIComponent(ref)+'&com='+encodeURIComponent(comment)+'&token='+token+'&aj=true”,缓存:false,超时:7000,
错误:function(){$.fancybox(内部错误,内部错误);results.html(“”);comment\u box.removeAttr(“禁用”);but.removeAttr(“禁用”),
成功:函数(html){
auth(html);
如果(html!=“错误,此时无法发布消息”){
如果(con_wrap.length==0){
html(''+html+'
'+outa);
outa_wrap.find('li:last').fadeIn();
添加注释(令牌、加载器);
}否则{
com_box.html(contents+html);
com_box.find('li:last').fadeIn();
}
}
html(“”);
注释框。删除注释(“禁用”);
但是。删除TTR(“禁用”);
}
});
}捕捉(错误){提醒(错误);}
返回false;
});
}
非常感谢您的帮助。我认为您应该在文本区域中使用val()而不是html() 在旁注中,对于Chrome,请使用textarea上的占位符属性。你不需要太多这样的代码
每当您报告问题时,您应该a)写下您预期会发生的事情(您做了)和b)写下发生的事情。无论文本区域中有什么内容,警报()(第19行)都会返回“写注释…”,仅在chrome中。我还注意到在过去的经验中,chrome在使用innerHTML
更新
时存在缺陷。使用值
属性将其修复。将
称为二进制标记(带结尾的
)是一个用词不当的说法。它确实应该被视为一元标记(
)。它实际上不应该有innerHTML
属性,因为它的innerHTML只接受文本,这与几乎任何其他标记的innerHTML
不同。