2010-05-04 72 views
2

我想要有一个评论输入字段,当你点击输入字段时,将在动态创建的窗体上显示提交按钮。 与Facebook评论的工作方式类似。当你点击输入栏时,出现提交按钮,当你点击它时,它就会消失。 所有评论输入ID是COMMENT_1等,并提交按钮ID是submit_1等jQuery显示提交按钮输入字段点击

我试过这个,

jQuery("#[id^='comment_']").live('click',function(event){ 
    if(jQuery("#[id^='comment_']").val() == ""){ 
     jQuery("#[id^='submit_']").hide(); 
    } 
    else { 
     jQuery("#[id^='submit_']").show(); 
    } 
}); 

而不会出于某种原因。任何建议或如何完成将是很好的。

回答

1
jQuery("[id^='comment_']").live('focusin focusout',function(e){ 
    var commentText = "Write a comment...", 
     id = this.id.replace('comment_',''), 
     val = jQuery(this).val(); 
    if (e.type == 'focusin'){ 
     val = (val == commentText) ? '' : val; 
     jQuery("#submit_"+id).show(); 
    } else if (e.type == 'focusout') { 
     val = (val == '') ? commentText : val; 
     if(val == commentText){ 
      jQuery("#submit_"+id).hide(); 
     } 
    } 
    jQuery(this).val(val); 
}).trigger('focusout'); 
+0

我不知道为什么我看起来不好看。大声笑,仍然不起作用。我也在textarea上有这个。 onclick =“if(this.value =='Write a comment ...')this.value ='';”这仍然可以在textarea标签中使用吗?反而可以对功能进行增强吗?我脱下onclick,但它仍然无法正常工作。感谢您的帮助 – 2010-05-04 15:24:48

+0

好吧,它现在有点作用,问题是,它不是我所需要的。当你点击输入字段时,我需要它显示按钮,就好像你要开始输入一样。上面的代码只显示提交按钮,如果您先单击该字段后单击该字段。 – 2010-05-04 15:53:28

+0

@Pjack现在尝试它,更新它来处理“写评论...”文本,它应该如何工作。 – PetersenDidIt 2010-05-04 16:05:49

2

您需要从选择器中删除#。此外,我认为你不想要click事件,但focusblur