是否有可能,如果一个人有这样的JavaScript变量:JavaScript变量HTML页面“脚本标签”
var myVariable = "alert('BAM! It works!');"
将其发送到具有在脚本标签,换句话说,一个HTML页面,看起来是这样的: <script id="theScriptTag"></script>
,并通过“发送”我的意思是要像这样的JavaScript文件:
getElementById("theScriptTag").innerHTML = myVariable;
也许现在人们通常不这样做。如果还有另一种方法可以将HTML变量添加到HTML页面,请不要犹豫。我很难解释为什么我想这样做,只有我需要这样做。
在此先感谢!
编辑...
从所有我可以看到这个评论是一些严重的不良做法。让我给你在这里的概述和'更大的图片'...在同一个HTML页面上有一个表格和一个div。在用户填写完表单并提交之后,它立即到达服务器,并根据用户选择的变量生成“自定义JavaScript”。然后,这个自定义JavaScript将返回到客户端并执行。当它执行时创建/填充一个div元素,然后包含谷歌图表表格(因此需要获得生成的服务器端)。需要执行的JS是这样的:
var sendAttemptsChartTableData, sendAttemptsChartTable;
google.load('visualization', '1', {packages:['table']})
google.setOnLoadCallback(drawTable);
function drawTable() {
sendAttemptsChartTableData = new google.visualization.DataTable();
sendAttemptsChartTableData.addColumn('string','smsGuid')
sendAttemptsChartTableData.addColumn('string','attemptNo')
sendAttemptsChartTableData.addColumn('string','response')
sendAttemptsChartTableData.addColumn('string','error')
sendAttemptsChartTableData.addRows(1)
sendAttemptsChartTableData.setCell(0,0,'092A49AA-E2EF-46D3-A83E-0932B17B649A')
sendAttemptsChartTableData.setCell(0,1,'1')
sendAttemptsChartTableData.setCell(0,2,'<aatsms><submitresult action="enqueued" key="2066317199" result="1" number="0833756610"/><submitresult action="enqueued" key="2066317200" result="1" number="0833756610"/><submitresult action="enqueued" key="2066317201" result="1" number="0833756610"/><submitresult action="enqueued" key="2066317202" result="1" number="0833756610"/></aatsms>')
sendAttemptsChartTableData.setCell(0,3,'')
sendAttemptsChartTable = new google.visualization.Table(document.getElementById('sendAttemptsTable'));
var view = new google.visualization.DataView(sendAttemptsChartTableData);
sendAttemptsChartTable.draw(view, {showRowNumber: true, allowHtml:false});
google.visualization.events.addListener(sendAttemptsChartTable, 'select', smsSearchHandler);
}
为什么不只是创建所需的变量? – KBN
这看起来很讨厌。相信我,你不想这样做。退一步,重新思考你想要做的事情。 “评估JS通常是一个糟糕的主意。 – Christoph
绝对不是正确的解决方案。这是从'eval()'非常狭隘地删除。如果你能澄清你想要完成的事情,那么可能有一个非常简单的方法。 – bkconrad