Как обновить значение с другой страницы в списке массивов Code.gs для передачи в электронную таблицу - PullRequest
0 голосов
/ 13 февраля 2020

Мой столбец обновления листа Google в моей таблице не определен. Это нормально, когда я просто передаю аргумент в функцию добавления без использования массива.

col1        col2
undefined   undefined

Я ожидаю.

col1    col2
image1  image3

main Code.gs

var list1=[];
var url1='https://docs.google.com/spreadsheets/d/19ltZN-Gc6G6WJF9tJ-GRPjdXczlpp0IKWU1yJLszBxI/edit#gid=0';
var ss=SpreadsheetApp.openByUrl(url1);
var ws=ss.getSheetByName("Data");


function page1(id){
  ws.appendRow(list1.push(id));
}

function page2(id){ 
list1.push([id]);
}

function lastPage(){
    ws.appendRow([list1[0],list1[1]]);
}

page1. html

<?var url = getScriptUrl();?><a href='<?=url?>?page=page2'>
      <img id="img4" onClick="imgClicked(this.alt)" alt="image4" src='https://lh3.googleusercontent.com/d/1gcuXbhSbVM9gSeffWgw_o1zHQ5PBvdaF=s220?authuser=0' width=200 height=200/>
      </a>
    </div>


        <script>

        function imgClicked(clicked){
        var id = clicked
        google.script.run.page1(id);
        }

        </script>

представить. html

   <?var url = getScriptUrl();?><a href='<?=url?>?page=page4'>
  <img id="img4" onClick="imgClicked()" alt="image4" src='https://lh3.googleusercontent.com/d/1gcuXbhSbVM9gSeffWgw_o1zHQ5PBvdaF=s220?authuser=0' width=200 height=200/>
  </a>
</div>

    <script>

    function imgClicked(){
    google.script.run.lastPage();
    }

    </script>

1 Ответ

0 голосов
/ 13 февраля 2020

Измените

function page1(id){
  ws.appendRow(list1.push(id));
}

на

function page1(id){
   list1.push(id);
  ws.appendRow(list1);
}

Вы поймете причину, если войдете в систему

Logger.log(list1.push(id));

См. здесь :

Возвращаемое значение Новое свойство длины объекта, для которого был вызван метод.

Другими словами, list1.push(id) возвращает вам длину массива, а не его содержание.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...