2012-04-20 20 views
-1

我試圖清除文本時,如下圖所示的onclick在文本輸入控件的用戶,但它不會發生......下面是代碼文本不clearning的onClick(創建動態文本域)

var generate_message = $("<textarea onclick='if (this.value == 'Enter message here...') this.value = ''' rows='5' cols='45' id='comment'>Enter message here...</textarea>");    

回答

1

您不能在html和javascript中使用單引號。它在瀏覽器渲染器中造成混淆

通常,我將單引號和雙引號分開使用。我使用的HTML和單引號雙引號的JavaScript

參見下面的例子

<textarea onclick="if (this.value == 'Enter message here...') this.value = ''" rows="5" cols="45" id="comment">Enter message here...</textarea>​​​​​​​​​​​​​​​​​​​​ 
  • 加入小提琴

Fiddle例如

  • UPDATE 我剛剛意識到你有$(「...」),所以我建議你可以逃避e。通過把\

單引號看到更新的小提琴here

+0

我知道這工作,但我正在生成代碼,所以我如何讓我的代碼行工作? – 2012-04-20 04:21:08

+0

請參閱我的更新版本。我希望它解決了這個問題 – 2012-04-20 04:29:38

+0

謝謝,我總是忘記使用轉義 – 2012-04-20 14:10:20

1

我想這樣做,在unobtrusive方式

$(function(){ 
    $(document).on("focus","#comment",function(){ 
    if($(this).val()=="Enter message here...") 
     $(this).val("") 
    });   
}); 

這裏是樣品http://jsfiddle.net/8UjkA/11/

+0

更好地使用'if(this.value == this.defaultValue)this.value ='';'這樣的默認值可以設置爲任何東西不需要改變聽衆。這也意味着重置按鈕按預期工作,無需額外的代碼。 – RobG 2012-04-20 05:38:15

+0

1個備用答案... – 2012-04-20 14:16:08