我正在尝试在一个旧的 liferay 项目(3.6)中使用不显眼的日期选择器,我相信它正在运行prototype.js。
我有这样的电话:
datePickerController.createDatePicker({formElements:{"elementId":"%d/%m/%Y"}});
为此:
createDatePicker: function(options) { addDatePicker(options); },
我无法使用变量代替硬编码的 elementId。我尝试过数组索引、点索引、字符串变量等,但无法让它工作。
在我看来,被调用函数只需要一个通常未指定的对象,但如果我执行上述操作之一(数组、点等),浏览器会抱怨括号(数组索引)、点(点索引)、括号或预期格式以外的任何内容。
底层调用模块 (addDatePicker) 需要 formElements,所以我无法更改它。
我不明白浏览器如何知道足以抱怨函数参数的格式......显然我在这里严重缺乏!
指针非常感谢。
例如
obj[tag] = 'elementId';
datePickerController.createDatePicker({formElements:{obj[tag]:"%d/%m/%Y"}});
// SCRIPT1003: Expected ':'