Javascript 当仅选择一个项目时,如何处理包含多个项目的选择
我有一个select表单元素,它接受多个项目 提交表单时,我将项目添加到一个数组中,然后处理它们,然后运行该数组对每个项目执行操作 当只选择了一个项目时,我遇到了一个问题 传递一个项目时数组的长度不是1,而是所选项目中的字符数Javascript 当仅选择一个项目时,如何处理包含多个项目的选择,javascript,forms,google-apps-script,Javascript,Forms,Google Apps Script,我有一个select表单元素,它接受多个项目 提交表单时,我将项目添加到一个数组中,然后处理它们,然后运行该数组对每个项目执行操作 当只选择了一个项目时,我遇到了一个问题 传递一个项目时数组的长度不是1,而是所选项目中的字符数 function processForm(formObject){ var list = []; list = formObject.listElement; for (var i=0;i<list.length;i++) { Logger.l
function processForm(formObject){
var list = [];
list = formObject.listElement;
for (var i=0;i<list.length;i++) {
Logger.log(list[i]);
}
}
函数processForm(formObject){
var列表=[];
list=formObject.listElement;
对于(var i=0;i你有:
var list = [];
将空数组分配给列表,然后:
将其替换为formObject.listElement返回的任何内容,因此初始赋值是无意义的
您尚未指明控件listElement的类型,它可能是或。两者都有一个返回选项数组的方法
如果使用该方法,则无需测试返回值是否为数组,它应始终为(可能为空)数组:
假设listElement是上述对象之一。像数组一样遍历字符串将给出您描述的行为。如果数组还不是数组,您可以先转换它
var list = formObject.listElement;
if (!Array.isArray(list)) list = [list];
尾随“)”是帖子中的一个输入错误。因为我使用的是应用程序脚本,所以对列表的引用在formObject中,并传递给函数。然后我尝试将list元素的值分配给变量list,这是可行的,但如果选择了一个项,它就不会像数组一样看到它。可能是在选择了一个项的地方,formObject.listElMent
返回所选项目的值,如果选择了多个项目,它将返回一个值数组。对于不同的场景,typeof list
会得到什么?您得到了。typeof返回了一个字符串,如果只包含一个项目。如果返回了多个项目,它就是一个对象(数组).谢谢,文档不是最好的..............................................可能是相关的.谢谢,布鲁斯!太好了。
list = formObject.listElement.getChoices();
var list = formObject.listElement;
if (!Array.isArray(list)) list = [list];