0

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

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

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

Cannot read property 'value' of null 

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

4

2 回答 2

2

使用类而不是 id。在 chrome devtools(检查元素)中,您可以看到 Caja 更改z123(yourId)z123-caja-guest-0___(与类不同)

或者使用 jquery 你可以使用 id ..

$('#z123').val();
于 2013-07-04T13:54:17.137 回答
1

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

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

(我在 Caja 工作。)

于 2013-07-12T16:56:12.533 回答