2011-08-01 29 views
2

您好我有一個類似的要求,如下所示,並且是 想知道解決這個問題。如何解決這個java腳本錯誤處理行中的單引號

下面是代碼

<script type="text/javascript"> 
function Msg1(){ 
    var sd= document.getElementById('myText').innerHTML = 'Thank's!'; 
    alert('-sd-'+sd); 
} 
function Msg2(){ 
    document.getElementById('myText').innerHTML = 'Try messages 1 again...'; 
} 
</script> 
<input type="button" onclick="Msg1()" value="Show Message 1" /> 
<input type="button" onclick="Msg2()" value="Show Message 2" /> 
<p id="myText"></p> 

innerHTML標籤拋出腳本錯誤像

Webpage error details 


Message: Expected ';' 
Line: 29 
Char: 64 
Code: 0 
URI: file:///C:/Documents%20and%20Settings/j1007962/Desktop/spl.html 

我一直在尋找修復周圍innerHTML或更好的東西這將解決這個 更換。由於

+0

我不想替換雙引號的消息,因爲這是動態生成一個 – GustyWind

+0

這可能有助於爲動態生成一個http://stackoverflow.com/questions/97578/how-do-i-escape-a-string-inside-java script-inside-on-onclick-handler – nidhin

回答

7

你應該逃脫你的報價。

修改

var sd= document.getElementById('myText').innerHTML = 'Thank's!'; 

var sd= document.getElementById('myText').innerHTML = 'Thank\'s!'; 

或者用雙引號

var sd= document.getElementById('myText').innerHTML = "Thank's!"; 
1

試圖逃跑單引號

var sd= document.getElementById('myText').innerHTML = 'Thank\'s!'; 

編輯

讓我們說我們有一些文本從服務器端或從HTML標籤的到來。在那種情況下,我們有一個有效的變量。所以沒有必要改變這個變量。

<div id="div1"> 
    Thank's! 
</div> 

<script language="javascript" type="text/javascript"> 

function changeDivHTML() 
{ 
    var innerText = document.getElementById('div1').innerHTML; 

    alert(innerText); 
} 

,或者如果文本是從服務器通過Ajax

未來
$.ajax({ 
    url: "test.html", 
    success: function(data){ 
     alert(data.someStringValue); 
    } 
}); 
+0

如果郵件是靜態的,這個方法可以工作。如果它來自服務器端意味着動態地改變郵件 – GustyWind

+0

假如它來自服務器端,那麼它將自動是一個有效的變量。意味着它將包含有效的字符串。無需更改該圖像。 –