我正在尝试通过访问输出字段中的值来获取javascript中的json字符串变量。基本设置如下:
<script type="text/javascript">
var previousOnload = window.onload; window.onload = function() { if (previousOnload) { previousOnload(); } doStuff(); }
function doStuff() {
var myObj = document.getElementById("jsonStr").value
for( k in myObj.study ){
document.getElementById(k).value = myObj.study[k];
}
}
</script>
<div ><apex:outputText value="{!StudyJSON}" id="jsonStr"/></div>
在屏幕上,outputText显示为
{"study":{"moleculeDescription":"RONTALIZUMAB","protocolTitle":"IMM","protocolNumber":"GA00806","studyName":"Interferon alpha in SLE Phase II LCM Option","therapeuticArea":"INFLAMMATORY,AUTOIMMUNE&BONE","startDate":"2009-03-25","endDate":"2013-08-22"}}
这正是我希望我的变量相等的东西。我也试图像这样访问它(见下文),但它回来时未定义。
document.getElementById('{!$Component.jsonStr}').value)
将var myObj =设置为outputText字段中的json字符串的正确方法是什么?非常感谢您对此的任何帮助!