2014-09-21 20 views
1

我從控制器獲得一個變量,該變量是一個java腳本代碼,並且想要以該數據作爲字符串初始化一個java腳本文件變量。設置一個JavaScript代碼作爲變量

我的意思是:

Model.TrialScript等於字符串:

<script type="text/javascript">var j = new Date();</script> 

(我從數據庫得到了它),然後,我想要做的下一件事在我的js文件中:

var TrialScript = '<%= Model.TrialScript %>'; 

問題是TrialScript是不喜歡我想到:

var TrialScript = '<script type="text/javascript">var j = new Date(); 

假設我必須讓JS代碼爲:<script type="text/javascript">,而不是: <script type=\"text/javascript\">,我怎麼能解決這個問題呢?

另一件事可能幫助:我想運行此腳本,只有當用戶按下一個按鈕(被稱爲:button1

也許是有一個選項按鈕被點擊後,沒有從JS調用這個腳本將此腳本保存爲變量?

任何幫助讚賞!

+1

逃逸是正常的。 – Scimonster 2014-09-21 11:03:56

+0

@Scunibster,謝謝..我知道,但我怎麼能得到完整的JS代碼?或者也許有一個選項可以在單擊按鈕後從js中調用此腳本,而不將此腳本保存爲變量? – 2014-09-21 11:05:02

+0

你應該看看eval函數。 http://www.w3schools.com/jsref/jsref_eval.asp – mainguy 2014-09-21 11:06:56

回答

1

你可以試試這樣:

var TrialScript = '<%= Model.TrialScript %>'; 
//remove script tags, get only the code 
TrialScript = TrialScript.replace(new RegExp("^<script.*?>(.*)</script>"), "$1"); 
// transform the code as a JS function 
TrialScript = new Function(TrialScript); 
// associate to the button1 
document.getElementById("button1").onclick = TrialScript;