Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript将值更改为对象键(谷歌应用程序脚本)_Javascript_Google Apps Script - Fatal编程技术网

Javascript将值更改为对象键(谷歌应用程序脚本)

Javascript将值更改为对象键(谷歌应用程序脚本),javascript,google-apps-script,Javascript,Google Apps Script,嘿,我都不知所措了,真的不知道发生了什么,为什么?一般来说,我对javascript的了解不是很好,但我正在学习 我有一个由html文档填充的对象。在那个文档中,我有几个复选框。有些复选框很重要,它们需要一个值 * * Krijg alle verdeler data uit het formulier * @param form * @return data object */ function getS627Data(form) { var data = { Ingedi

嘿,我都不知所措了,真的不知道发生了什么,为什么?一般来说,我对javascript的了解不是很好,但我正在学习

我有一个由html文档填充的对象。在那个文档中,我有几个复选框。有些复选框很重要,它们需要一个值

*
 * Krijg alle verdeler data uit het formulier
 * @param form
 * @return data object
 */
function getS627Data(form) {
  var data = {
    IngediendDoor: form.ingediendDoor,
    Specialiteit: form.specialiteit,
    Aan: form.aan,
    Post: form.post,
    Station: form.station,
    Aanvraag: form.aanvraag,
    Rubriek2ARMS: form.rubriek2ARMS,
    Rubriek2AAndere: form.rubriek2AAndere,
    AanvangDatum: form.aanvangDatum,
    AanvangUur: form.aanvangUur,
    EindDatum: form.eindDatum,
    EindUur: form.eindUur,
    MetOverdracht: form.metOverdracht,
    Lvhw: form.lvhw,
    NodigLvhw: form.nodigLvhw,
    NodigLvhwBis: form.nodigLvhwBis,
    NodigWl: form.nodigWl
  };

  return data;
}
所以这里我用键和值填充对象

/*
 * Al de functionaliteit voor het verdeler formulier
 * @param form
 * @return succes of fail
 */
function writeVerdelerForm(form) {
  try {
    var data = this.getVerdelerData(form);

    if(data.MetOverdracht == NULL) { data.MetOverdracht = 'FALSE'; }
    if(data.Lvhw == NULL) { data.Lvhw = 'FALSE'; }

    var sheet = SpreadsheetApp.openById('xxxxxx');
    this.writeData(data, sheet);

    // finalizeer alle sheet gegevens en creeër dan een pdf
    SpreadsheetApp.flush();
    this.createPDF(sheet, "Verdeler " + data.Lijn, true);

    return this.success();

  } catch (error) {

    return error.toString();
  }
}
在这里,我试着检查两个重要的键和值是否被填充。如果不是,我想给它们加上FALSE。然而,如果不在html代码中进行检查,它们仍然是未定义的


在JavaScript中,这些是特殊的值,应该是小写和不带引号的

null
false
true

原则上,相等性测试也应该始终使用===而不是==(如果需要,将尝试进行类型转换)

什么是
NULL
?这类似于
null
?我带来的坏习惯,但如果更改为null,则不会修复问题,从而将
调试器放入并使用浏览器调试器检查变量。查看它们的实际值。调试器不起作用(我相信google apps脚本不允许)。请尝试js值强制,其中undefined强制为false<代码>如果(!data.metoredracht){data.metoredracht=false;}如果(!data.Lvhw){data.Lvhw=false;}