使用 HtmlService(使用 Caja 清理)时,我可以获取/设置文本框(其他控件)的值吗?
console.log('getting current value : ' + document.getElementById('z123').value);
其中'z123'是唯一文本框的ID,上面的代码给出了错误消息:
Cannot read property 'value' of null
当然 UiApp 允许这样做。所以我不确定发生了什么。
使用 HtmlService(使用 Caja 清理)时,我可以获取/设置文本框(其他控件)的值吗?
console.log('getting current value : ' + document.getElementById('z123').value);
其中'z123'是唯一文本框的ID,上面的代码给出了错误消息:
Cannot read property 'value' of null
当然 UiApp 允许这样做。所以我不确定发生了什么。
使用类而不是 id。在 chrome devtools(检查元素)中,您可以看到 Caja 更改z123
(yourId)z123-caja-guest-0___
(与类不同)
或者使用 jquery 你可以使用 id ..
$('#z123').val();
在 Caja 沙箱中,getElementById
应该像往常一样工作,就像.value
在表单字段上一样。如果您对此有疑问,请显示您的 HTML 和 JavaScript(最好是完整、简短的示例),以便我们找出问题所在。
另一方面,如果您在浏览器控制台中工作,那么该代码确实会失败,因为 ID 是用后缀重写的(如前所述);在这种情况下,document.getElementById('z123-caja-guest-0___')
应该工作。(有一些方法可以在不知道后缀格式的情况下执行此操作,但它们需要已经拥有对特定 Caja 沙箱的引用。)
(我在 Caja 工作。)