2010-05-04 101 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