[英]Get value from javascript dict in odoo template's script tag
我需要獲取elt.innerHTML
的值並將其傳遞給fromPage[j].textContent
。
從GitHub借用的函數。
目前vars['hiddenNumber']
正在返回undefined
。
elt.style.visibility = "hidden";
按預期工作。
我相信這可能與變量范圍有關,但似乎無法找到創建全局變量的方法。 試圖更新window.value
,但得到一個錯誤,即窗口未定義。
使用 odoo 13,wkhtmltopdf 0.12.5。
<script> function subst() { var vars = {}; var x = document.location.search.substring(1).split('&'); for (var i in x) { var z = x[i].split('=', 2); vars[z[0]] = unescape(z[1]); } var index = vars['webpage'].split('.', 4)[3] var operations = { // other operations 'hidden_page_number': function (elt) { elt.style.visibility = "hidden"; vars['hiddenNumber'] = elt.innerHTML; // This value }, }; for (var klass in operations) { var y = document.getElementsByClassName(klass); for (var j=0; j<y.length; ++j) operations[klass](y[j]); } var fromPage = document.getElementsByClassName('page'); for(var j = 0; j<fromPage.length; j++) fromPage[j].textContent = vars['hiddenNumber']; // Required here var toPage = document.getElementsByClassName('topage'); for(var j = 0; j<toPage.length; j++) toPage[j].textContent = vars.sitepages; } </script>
只是一個建議:您在閉包外定義vars
,然后在嘗試更新vars
地方定義閉包,但我想在閉包內部它為vars
創建了新的作用域,這就是為什么vars
不在外部更新的原因
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.