2011-04-24 40 views
1

我需要將ReCaptcha代碼存儲在JavaScript變量中,然後動態顯示驗證碼(在動態創建的DIV中)。問題是,下面的代碼不能被存儲在一個變量:如何將它存儲在一個變量?

<script type="text/javascript" src="http://www.google.com/recaptcha/api/challenge?k="></script><noscript><iframe src="http://www.google.com/recaptcha/api/noscript?k=" height="300" width="500" frameborder="0"></iframe><br/><textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea><input type="hidden" name="recaptcha_response_field" value="manual_challenge"/></noscript>

我得到的錯誤在Firebug:unterminated string literal。如何使它工作?

+1

答案替換所有的「與\」 – Rob 2011-04-24 14:38:52

+0

的Firebug的理由認爲該字符串的未終止(如應任何符合標準的瀏覽器)是因爲(1)你用報價標記在字符串內部,需要用反斜槓進行轉義(正如@Rob所提到的),(2)不能在JavaScript文字中包含HTML標記。 @ Horos的回答有你想要解決的問題(這就是爲什麼我沒有發佈自己的答案)。 – 2011-04-25 01:44:16

回答

1

您可能將其存儲在字符串中,使用"作爲分隔符,與屬性的值分隔符上使用的"相沖突。

嘗試使用單引號('),或使用反斜槓(\")將每個"轉義爲按字面進行處理。

1
var s = '<script type="text/javascript" src="http://www.google.com/recaptcha/api/challenge?k="></script><noscript><iframe src="http://www.google.com/recaptcha/api/noscript?k=" height="300" width="500" frameborder="0"></iframe><br/><textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea><input type="hidden" name="recaptcha_response_field" value="manual_challenge"/></noscript>' 
相關問題