HtmlService Caja-设置文本框值

HtmlService Caja - setting textbox value

本文关键字:置文本 Caja- HtmlService      更新时间:2023-09-26

使用HtmlService(使用Caja净化)时,我可以获取/设置文本框(其他控件)的值吗?

console.log('getting current value : ' + document.getElementById('z123').value);

其中"z123"是唯一文本框的id,上面的代码给出错误消息:

Cannot read property 'value' of null 

UiApp当然允许这样做。所以我不确定发生了什么。

使用class代替id。在chrome devtools(Inspect元素)中,您可以看到Caja在z123-caja-guest-0___上更改z123(yourId)(与class不同)

或者使用jquery可以使用id。。

$('#z123').val();

在Caja沙盒中,getElementById应该像往常一样工作,表单字段上的.value也应该如此。如果您对此有问题,请显示您的HTML和JavaScript(最好是完整、简短的示例),这样我们就可以找出问题所在。

另一方面,如果你在浏览器控制台上工作,那么代码确实会失败,因为ID会用后缀重写(如前所述);在这种情况下,document.getElementById('z123-caja-guest-0___')应该起作用。(有一些方法可以在不知道后缀格式的情况下做到这一点,但它们需要已经引用了特定的Caja沙盒。)

(我在Caja上工作。)