[英]Passing a variable to inline function within a for loop in javascript
[英]Javascript passing variable to inline function in input element
我試圖將一個對象totalArray傳遞到一個輸入元素id = fullReport中,以便可以在函數printFullReport中使用變量totalArray。
輸入元素串聯在一個字符串中,以便最終可以將其創建到表中。
我無法將totalArrays傳遞給onclick =“ printFullReport('+ totalArray +')”>,可能是由於字符串串聯所致,在我的控制台中,我收到:“未捕獲到的SyntaxError:意外的標識符”,這意味着丟失; 或',但對我來說似乎不錯。
所以這是我最初的嘗試:
<script type="text/javascript">
console.log(totalArray); //{"1":0,"2":0,"3":54700.33,"4":54700.33,"5":0,"6":0,"7":-54700.33,"8":0,"9":0,"10":0};
var str = "";
str += '<td>
<input id ="fullReport"
class="button"
type="button"
value="Full Report"
onclick="printFullReport('+ totalArray+ ')">
TOTAL (GBP):</td>';
</script>
這是我閱讀並遵循最佳答案之后的第二次嘗試: 內聯onclick JavaScript變量
<script type="text/javascript">
var str = "";
console.log(totalArray) //{"1":0,"2":0,"3":54700.33,"4":54700.33,"5":0,"6":0,"7":-54700.33,"8":0,"9":0,"10":0};
function init(){
document.getElementById('fullReport').onclick=function(){
printFullReport(totalArray);
};
}
window.onload=init;
str += '<td><input id ="fullReport" class="button" type="button" value="Full Report" onclick="init();">TOTAL (GBP):</td>';
</script>
但是現在返回:Uncaught ReferenceError:未定義init。
在javascript字符串中包含html元素時,我可能不理解范圍。
第二次嘗試,您丟失了右引號 "
<script type="text/javascript">
並且您需要從可訪問totalArray
位置分配onclick
。 (現在,您已經在注釋中闡明了totalArray
不在全局范圍內 。)
演示
<script type="text/javascript"> var str = ""; totalArray ={ "1":0,"2":0,"3":54700.33,"4":54700.33,"5":0,"6":0,"7":-54700.33,"8":0,"9":0,"10":0}; //console.log(totalArray) //{"1":0,"2":0,"3":54700.33,"4":54700.33,"5":0,"6":0,"7":-54700.33,"8":0,"9":0,"10":0}; function init(){ document.getElementById('fullReport').onclick=function(){ printFullReport(totalArray); }; } window.onload=init; str += '<td><input id ="fullReport" class="button" type="button" value="Full Report" onclick="init();">TOTAL (GBP):</td>'; </script> <input id ="fullReport" class="button" type="button" value="Full Report" onclick="init();">TOTAL (GBP):
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.