Google apps script “作为参数传入的不兼容类型”错误,但仅当值高于某个数字时

Google apps script “作为参数传入的不兼容类型”错误,但仅当值高于某个数字时,google-apps-script,Google Apps Script,我正在为我的数学学生创建计算机生成的数学练习,并尝试与其他数学老师分享该策略。我遇到了一个奇怪的编程问题。问题在于我需要对listbox和textbox使用相同的ID。两个问题都不会同时出现在应用程序中,当随机生成新问题时,一次只出现一个问题。以下是脚本文件的副本: 以下是出现错误的web应用程序版本: 此代码来自生成问题功能: else if(questionType == 4) { if (a==0){a=a+1;} if (b==0){b=b+2;} if (c==0){

我正在为我的数学学生创建计算机生成的数学练习,并尝试与其他数学老师分享该策略。我遇到了一个奇怪的编程问题。问题在于我需要对listbox和textbox使用相同的ID。两个问题都不会同时出现在应用程序中,当随机生成新问题时,一次只出现一个问题。以下是脚本文件的副本:

以下是出现错误的web应用程序版本:

此代码来自生成问题功能:

else if(questionType == 4)
{ 
  if (a==0){a=a+1;}
  if (b==0){b=b+2;}
  if (c==0){c=c+3;}
//Listbox input  
var userInput = app.createListBox().addItem(a).addItem(eval(a-3)).setWidth(250).setStyleAttribute("fontSize", "24").setId('userInput').setName('userInput').setStyleAttribute('color', 'gray');

var correctAnswer = app.createTextBox().setName('correctAnswer').setId('correctAnswer');
var solution = eval(a-3);
correctAnswer.setValue(solution);
}
else if (questionType == 5)
{
  if (a==0){a=a+1;}
  if (b==0){b=b+2;}
  if (c==0){c=c+3;}
    //Textbox input
var userInput = app.createTextBox().setWidth(100).setStyleAttribute("fontSize", "24").setName('userInput').setStyleAttribute('color', 'gray').setValue('answer').setId('userInput');
var correctAnswer = app.createTextBox().setName('correctAnswer').setId('correctAnswer');
var solution = eval(a-c);
correctAnswer.setValue(solution);

}

再次调用此函数以从应用程序中删除最后一个用户输入框时,我应该做什么?只有当创建的第二个问题与第一个问题的输入类型不同时,才会出现错误

结果表明,错误来自于对列表框和文本框使用相同的id。在UiApp中,一次只显示一个问题,但无论首先生成的问题类型是什么,比如文本框,当下面生成的问题是列表框时,就会出现错误,反之亦然。如果生成的所有问题都是相同的用户输入,则错误不会像所有问题通过列表框收集用户输入那样发生。当分数问题功能启动时,我需要两者的id相同。
我想接下来的问题是,如何从应用程序中删除最后一个输入类型的剩余部分,以使错误停止发生?我尝试通过getElementById删除用户输入,但似乎不起作用。

您可以回答自己的问题。只要做一个正确的回答,不是评论,然后标记为接受。鉴于你在这里的代表性低,你可能不被允许接受。Ok-Thank@HenriqueAbreu我更新了我上面的问题,以反映我现在看到的真正问题。