2013-12-06 2 views
0

Я преподаю Javascript и нуждаюсь в объяснении на старом посту, которое я нашел очень полезным. Я заранее извиняюсь, если это может показаться второстепенным постом в stackoverflow.Переменная скрипта Google Apps, проходящая

Я ссылаюсь этот пост: Google Apps Script Create form with file upload

Я использовал сценарий, и я пытаюсь узнать, потому что у меня есть старшеклассники, которые хотят, чтобы создать веб-приложение Google, чтобы собрать данные и информацию для своих проектов. Конечно, я должен сам это изучить и объяснить. Есть два раздела, о которых я не уверен. Вот код.

var submissionSSKey = '0Agd12jO_f4DrdFFYemZvRERvLWQ4UEhENllaWlVwOFE'; 
var listitems = ['Select a category','Portrait','Landscape','Night shots','Nature','Various'] 
var schoollist =['Select School','AFNORTH','Baumholder','Bamberg','Lakenheath MS'] 
var Panelstyle = {'background':'#dddddd','padding':'40px','borderStyle':'ridge','borderWidth':'15PX','borderColor':'#aaaaaa'} 




function doGet() { 
    var app = UiApp.createApplication().setTitle('i14 Art Submission').setStyleAttribute('padding','50PX'); 
    var panel = app.createFormPanel().setStyleAttributes(Panelstyle).setPixelSize(400, 200); 
    var title = app.createHTML('<B>I14 Art Submission</B>').setStyleAttribute('color','grey').setStyleAttribute('fontSize','25PX'); 
    var grid = app.createGrid(7,2).setId('grid'); 
    var list1 = app.createListBox().setName('list1'); 
    for(var i in listitems){list1.addItem(listitems[i])} 
    var Textbox1 = app.createTextBox().setWidth('150px').setName('TB1'); 
var schllist = app.createListBox().setName('schllist'); 
    for(var i in schoollist){schllist.addItem(schoollist[i])} 
    var Textbox2 = app.createTextBox().setWidth('150px').setName('TB2'); 
    var email = app.createTextBox().setWidth('150px').setName('mail'); 
    var upLoad = app.createFileUpload().setName('uploadedFile'); 
    var submitButton = app.createSubmitButton('<B>Submit</B>'); 
    var warning = app.createHTML('Please fill in all fields').setStyleAttribute('background','#bbbbbb').setStyleAttribute('fontSize','20px'); 
    //file upload 
    var cliHandler2 = app.createClientHandler() 
    .validateLength(Textbox1, 1, 40).validateNotMatches(list1,'Select a category').validateEmail(email).validateNotMatches(upLoad, 'FileUpload') 
    .forTargets(submitButton).setEnabled(true) 
    .forTargets(warning).setHTML('Now you can submit your form').setStyleAttribute('background','#99FF99').setStyleAttribute('fontSize','12px'); 

    //Grid layout of items on form 
    grid.setWidget(0, 1, title) 
     .setText(1, 0, 'Category') 
     .setWidget(1, 1, list1.addClickHandler(cliHandler2)) 
     .setText(2, 0, 'School') 
     .setWidget(2, 1, schllist.addClickHandler(cliHandler2)) 
     .setText(3, 0, 'Name') 
     .setWidget(3, 1, Textbox1.addClickHandler(cliHandler2)) 
     .setText(4, 0, 'Email') 
     .setWidget(4, 1, email) 
     .setText(5, 0, 'File Upload') 
     .setWidget(5, 1, upLoad.addChangeHandler(cliHandler2)) 
     .setWidget(6, 0, submitButton) 
     .setWidget(6, 1, warning); 

    var cliHandler = app.createClientHandler().forTargets(warning).setHTML('<B>PLEASE WAIT WHILE THE FILE IS UPLOADING<B>').setStyleAttribute('background','yellow'); 
    submitButton.addClickHandler(cliHandler).setEnabled(false); 
    panel.add(grid); 
    app.add(panel); 
    return app; 
} 


function doPost(e) { 
    var app = UiApp.getActiveApplication(); 
    var ListVal = e.parameter.list1; 
    var SchoolVal=e.parameter.schllist; 
    var textVal = e.parameter.TB1; 
    var Email = e.parameter.mail; 
    var fileBlob = e.parameter.uploadedFile; 
    var img = DocsList.createFile(fileBlob); 
    try{ 
    var folder = DocsList.getFolder('Illuminations 14 Submissions/Art'); 
    }catch(e){DocsList.createFolder('Illuminations 14 Submissions/Art');var folder = DocsList.getFolder('Illuminations 14 Submissions/Art/')} 
    //var schoolFolder = folder.createFolder(SchoolVal) 
    img.addToFolder(folder); 
    img.removeFromFolder(DocsList.getRootFolder()) 
    var sheet = SpreadsheetApp.openById(submissionSSKey).getSheetByName('Art'); 
    var lastRow = sheet.getLastRow(); 
// var image = sheet.insertImage(img.getUrl(), 4, lastRow+1) 
    var targetRange = sheet.getRange(lastRow+1, 1, 1, 5).setValues([[SchoolVal,ListVal,textVal,Email,img.getUrl()]]); 
    //var GDoc = DocumentApp.openByUrl(docurl) 
    //GDoc.appendTable([['Category : '+ListVal,'Name : '+textVal,'Email : '+Email]]) 
    //var par = GDoc.appendParagraph('IMAGE PREVIEW') 
    //par.insertInlineImage(1, img.getThumbnail()) 
    //GDoc.appendHorizontalRule(); 
    //GDoc.saveAndClose(); 
    app.add(app.createLabel('Thank you for submitting')); 
    return app 
} 

Мои вопросы в функции doPost (е) Как переменные декларации, способные получить значения из doGet (ФУНКЦИИ) с заявлением, как вар ListVal = e.parameter.list1 ;? Это e.parameter? Я не уверен, как работает e.parameter. У меня есть другие вопросы с созданием папки, но это первый шаг. Спасибо заранее за ваше время.

Рэдли

+0

Я предполагаю использование Java в названии была ошибка - я удалил его. –

ответ

1

Лучшее, что вы можете сделать, чтобы уточнить ваше понимание того, что имеется в информационном событие объекта (е в данном примере), чтобы визуализировать его с помощью JSON.stringify().

Просто добавьте строку, как Logger.log(JSON.stringify(e)), в функцию doPost и посмотрите регистратор после отправки формы. Вы увидите все свойства e, которые вы можете получить, используя e.parameter.xxx

вот вид того, что вы получите: (содержимое файла занимает много места, но интересная часть перед ним ...)

[13-12-06 10:10:27:051 CET] {"queryString":"lib=M_GmTb8T2JCyVLBlttWTHDatIT_UhbT9n&appId=u319190436783&formId=u319190436784&token=AJuLMu1iovLYxDewmZo0Tuv1g2KyC08GJQ:1386320938133&gm1xs=&service=AKfycbymlbEFYZuYIE63cHPT9FlM8WsuWl5fAZFQDdSa9hJ6","parameter":{"gm1xs":"","mail":"[email protected]","appId":"u319190436783","lib":"M_GmTb8T2JCyVLBlttWTHDatIT_UhbT9n","list1":"Portrait","token":"AJuLMu1iovLYxDewmZo0Tuv1g2KyC08GJQ:1386320938133","formId":"u319190436784","file":"�PNG\r\n\u001a\n\u0000\u0000\u0000\rIHDR\u0000\u0000\u0000�\u0000\u0000\u0000�\b\u0002\u0000\u0000\u0000Ada�\u0000\u0000\u0000\tpHYs\u0000\u0000\u000b\u0013\u0000\u0000\u000b\u0013\u0001\u0000��\u0018\u0000\u0000\"liCCPPhotoshop ICC profile\u0000\u0000x��EP\u001e^�����������;�`�\u0000\t.\t�A�\u0006\u000b\u001a\u0002!X \u0010 �[���s��T��V�fn}Ϫ�Y��S��uw5\u0000�{�^^nP,\u0000�=�|t\u0014e���M�\u0010\u0001\u0018 \u00028\u0000\u0000nk[_/i--5���<�\u0000\u0000�,����\u001b�\t����\u0016\u0000�\u0016\u0000�����\u001d\u0000H7\[email protected]����\u000f\u0000�%\u0000`*���\u000f\u0000�\u0010\u0000\u0000����\u0004\u0000�O\u0000\u0000��?�\u0011\u0000\u0000����\u0004\u0000\u0018\u0000\u0000�����\u0002\u0000�\u0003\u0000\t����\u0011\u0000T*\u0000\u0000U���\u001f\u0000�R\u0000 �x�9{\u0000��\u0007\u0000�����\u001d\u0000�o\u0000\u0000l��v\u00000�\u0003\u0000�l��<��[N���im��\u001f�?\u0001\u0000\u0000�����kHe�g����a\u000f�������\u0005\u0001\u0000�9�(�\u0000\u0000�\u0000\u0000d�\u0007�\u0000>�\u000b\f\u0001\u0015�\u0007~�\u001a�\u0001O�\u0001<���}�\u001f\u0000\u0000�zz\u0005�8;:�QI{y�ٳQ){�r�Q�pqs���ddlB�Ot�\[email protected]\u0000\u0000\u0010\u0002���\"\u0010\u0000��\u0006\u0000�����\t\u0000u�\u0000���G�\u000f\u0000N-\u0000mg��>\u0001�xp\u0000\u0000\u0000\u000fP\u0000&�\u0003Ā\u0002�\u0002&�\u000ex�\u0000\u0010\[email protected]\u001e�\u0000M�\u0007��\u0005�\u0005N�\u001d�@\u0010\u0006�A<H\u0006��[�\u0007�A)�\u0002��\u0019��n�\u0019��q0\u0005~�_`\rl�Cp\u0006��=\u0004\u0002A��Cp!�\u0010J\b=�\u0015�\u0003\u0011�[email protected]�!j\u0010\u001d�1�\n�\b��C� ��dH\u0006$\u000f�\u001eR\ri�tB>C� ӐE�:d\u001fr\u000e�� hP<(9�\u0001�\t\u0015�JCU�zPs�#�\u001b\u001a\u0002���Bs�%�:h\u001b�3t\u001c�\u0003�\u0006=�^�\u0000\f\u0015F\u0000���Ä`�0M�\t�\u0001�\u0003��%��`%�\u0006X\u0017l\u00146\u000b[�\u001d�n�\u0010�p����D����l��\"�R��������f�����������Y�E����\u001d�\u0003����+�[���o�_# \u0010 0\"\b\"(!\u0018#� �\"� \u0014\"|@�G�F�D�BDD$FdE\u0014G�D�F�C�G�E�C�C�A�F�D�ă��d��\u0014���T�ԋ4���t���L�,���l�\u001c���\\�܅�\u001dy\u001b�\u001e\u0005\u001b�\u0011E\u001cE\u000f�\u0005%\u001a%\u0007�\u0001e\u0018e\u0019�\u0002\u0015\u0015�\u0006U\u0018U\u001b�\u00195\n5\u0007�\u0011�\u000b�:�-\u001a\u000e\u001a\u000b�,�\u0019�?Z*Z%Z?�\"�\u0005:::\u0003�\u0014�\t�\u001fz*z5� �*�_\f\\\f\u000e\fe\f;�H�|�6�\u0019�\u0013LdLzLiL\u000b�\u0010�,�\u0016��GX�X\fX�X�X\u0011X�X�X\u000bXWظ��ؚ���)�5�c�{8�8\f8�8v8q8�8�8��0\\Z\\Y\\[�X�2�a�m<\u0004<F<e<\u0017�d�z�I�3|\u001c|>|\u0003� �|�\u001e�5\u0002\u0018\u0001\u0003�2�\u001bA\u001aA3�<�\u001d!9�4�=a\"a\u0003�\f�\r\u0011)�\u0014�=Q\u0012�\u0007�\u001fDw�T��Į�����+$p$,$�$�$E$�$G�x�����I�ͤKdP2\u00162\u001d�P�R�\t�+r\nrEr/�\\�A�#\n\u0002\n)\n\u0017�7\u0014�\u0014�\u0012�Δo(�(\u000f�ܨr���Ψɨ����SOR��0�����|�Y�E�\u0015�u�}C;@{FGI�N\u0017FWK�D�L/D�D�M?J���`�a���Q�1���q�\t�I�ɛ��i�\u0019�Y�ٕ��y�\u0005����Ē��\u0015�*���Z�:�\u0006�&���V¶���.�\u001e�^˾�A���\u0011���q�I�i�9�������U���\u001b�[�;����ǖ'�g�\u0017�W�7����\u000f\u001f+�=_\u0011�O~\\~u���\u0003�\u0002�\u0002>\u0002\r\u0002�t�V�\u0005�\u000bBxBZB)B_��e�#���oE\u0004D�D�ENE�E]EkD��\u0018�����6�iĭ�ߋ�IPIXI��X�����,�ܐ������ڕf�v���>���i���\u0015�\r�헃�)�%�M������ɯ*�(8*�*�)�+�*�+�+�*�+-(�+�*W+��\b���\f�����n����u�C�U�3՗5�5<4�5���f��\u0016����'m\u0004m-�|�\u001d\u001dn�0�Q]\\]K�\u001a�k=\u0019�4�_�L���\u0003\u0006�\u0006f\u0006�\u00067�r�\u0019�kF�F�F��$���\u001d&�&\u0006&\u0015&W��oM��������\u0019̓��,H,�,z,1-�-[��\f�j�\u001e�5�K��l�m\nl�lem�m\u000f�����ۋ�g��:�;d8�9�;f:�;I:e9\u001d9�:�9�qQr)v�q�t�t}v3t����n������1�I�\u0019�9���\u0015��-�����Gէ�\u0017�k������7�����[email protected]\" ?�o�A`K\u0010v�G�D0Kpb�n�BHy(\\�m�@\u0018uXt�z�t��\bH�M�@$md\\�v�bTU4J�k��\u0018�����X�خ8�\u0017�/j�1�}�\u0017^��,N�KpN�L�M�M|J�K�̕���b���\u0015���Wϩ\u000e��i\u0002iE�\u0011^{��O�L����\b���T�l{C�&���[˷cY|Y��(���k9j9\u001d�t��s\u001f��~���(+H,�)�+�)�*j(&/N.�{����{��m%\f%Y�\b�\u0001�;e\u0006e��B��\u0015$\u0015�\u0015��\u001e�kU:UCՂ��5d5i��Z���:���z��\u0006���\u001f\b>$7�F�ƃ&���f��\u0016�����\u001f\u000bZq[�� m�mg�N�k\u001d�\u001dӝ*�\u0003]�]��8>UvSw����������>���]�{�\u001f}v�9`9�k�hpnH{hrXu�ˈ����h�\u0017�/�c\"c�_����\u000b��M�O�~���:)0��]�{ǔ�T״�t����Y�ّ9��\u001f\u001a?����.�-�����g)`��W�2�r�\n�J�*�j�o��\u001f�\u0004�z���'6t7~m�n\u001en�n=l���d�R�V���u�+�O\u001d�\u001el\u001fz\u001d�\u001f�\u001fc\u001f\u0017�0�|<�:�83:������<����r�J�j�����&�/�ߪ[���;û���\u0007ć�G�Ǯ'է�g��g/k\u001fk\u0000�?m%��\u0001��J\u0000Ѝ\u0001��\u0002\u0000���~�_�A\u0000�\u0002\u0000�A)��\u0018Bڡ��@�/�\f�\u001a\u000e\u000f.\fn\u000f^\u000f�\u0017�\u001d�\u0000\u0011\r1\u0014�\u0010�\u0002i\u0006Y\u0001�\u0007�\u0017�\u001a�\u0016�\u0000�\b-\u0013\u001d\u0013=\u0015\u0003\u0003�\u0015&\u0016f&\u0016\t�;l&�\u0016\u001cq�q\\\u0013�C�\b|<�Z\u0002\u0005�u�H\"j�!b7\u0012\u0002�AR_2F�U�<\nCJR�u�\u001a� \u001aeZ\n�\u001b�\u0019�\u000f\fi�\u001eL\u001a�\u001c,�,���l3�\u001c]��\\-�m<=�_����\u0005��\b��E4D�Œū%�$K]ˠ�\u0012�Q�3(�(�+q(s�������3j�jRj�j\u0013�`��!�C��\fn\r��΍�L�M�͎̏-�,/��l��hvD�\f\u000eB�jN���.E���\u0016�/=��ؽU|\u001c|c��\u0003~\u0006^\u0005�p�����'DTD\u000eFm�@b��$_X�G�|��9q3\u0019>��j�gZ����L�7�ou�B��s����3\u0014�\u0016F\u00175\u0016���.�+\r,�)_�ĩR�\u000e�i�ݫ�l0��8�\fi\u0011�\u0018���v�����U�鸇�ק���[email protected]~0uhq�~����W�q牾I��>S�g8g��N�5\u0017>,b.y��Z�Y}������\u0016���]����P������\u001f���K�����[ڻ�'����f��R�Q�Q�Q�V����d�b�fСե�#�'6 4�3�1�2�0E7C3ǰ��Ķ·&���e��\u0017sPv4rrq�t�t�t����c���\u001b��ȗ�O�_-�,�=(\"8-�8�)�s�l�V�u4R\fI,{��\u000b�xǗa\t鉕I��?RNR\u0011�h^��\u001bg\u0004ff�i����C����_T0Qx_����}^�l\u0019Z�RE\\�@5�F�6�n�\u0001��vcN�z\u000b�ǀ��v�\u000e�ΦO�n���>H����A�!��Q�/�c+�\u0012\u0013�&��\u001d��g�g����\u0016�\u0017Y�^��Z1[\u001d\\c]���=�+��z�xXp�w�z����\u0005�e�5�Mϭ���C�����)�+������1��hPh\u0012k�jc� �Bu\u001f����\u0018\u001c\u0019�\u001am\u0018�6Y1]6�e�l��r�������\u000eŞԁ�Q���9ƥ�u�m�\u0003ٓ�K���'���߂�] y�T�]HBh]�T�U$I�d�}LrlS��\f\t��IEɣ)���i����s2\u00063Oޒf)f��ϝ�{(`-4)J(�x�WB\\�R\u0016Z^[�\\�V-^�^[X7Y��Ѻ)�y�底�ͼ=�c���\u0013o�kOY��~�φ\u0003Y���D#f�%_���GOLM�~\u000f����M�ۛ�_(Y\u0004K濺WHWC/�Kl�n!m{�,�)�\u001d�\u001c\u0015�\u0010���!=/��\u001a�����kyp}�x~\u0006���\u0002\u0000\u0000\u0010\t\u0000P\u0001\u00000�\[email protected]\n�<)\u0000�\u0000�\u0001\u0000hI\u0001�'\u0005 /l\u0001$�\[email protected]��\u0001\f�\u001f~\u0000\u0000\u0001P\u0000\u0007\u0010\[email protected]\u0003X��=�\u0000\u000b�\[email protected]\u0012(\u0002-`\fl�\u001b\b\u00041�\u0015�\u0005�\u0019�o�\u00178\u0000�\u0010$\b\u0011�\t\"\fQ��B�!Q�\fH\u0005�\u0013�\r�\u000e���B��\u0002P5�-4\u0004�\u000e���CB��P`�01�\u0001�\u000b�\u0004+����`�p�p�p�p�p1p�p�p�p��x�<�Z�\u001e�)��c�{\b�\b\f\b\n\b�\bq\be\bC\b[�p�t�r�v�/\u0010�\u0011G\u0010w�\u0010�\u0018�������j�&���1�9�����3�[� _�\u0010�\b�\u0018���\u0014�����<�R�ʠڢơ�����!���������5�M�����\u001b�\u0007��B_A ��ÈǨ��q���Ƀ��\u0019���ً��\u0005�Ō����\u0006�\u0003k\u0019\u001b`�b+b�b�a�`/`��P���8�$�4���\\�\u0012��Z���Ɲ�=���\u0013�3ŋ�+�\u001b�;�������\u000f�/����[email protected]$`%� �!�\"�$X!\u0004�t�J���i�-��wD\u0014D2D�D�D�D�DW�������/���'��I\bIDI�H�H�I&I.H�H�ImI\u0013H\u001bHgIo�(�\u0014���2�:���\u0011�9�\r�#�+�'�o(()�(|(�)�)N)I(�(=)�)G)/�(�Ԩ��*�f�!�\u001c�f�IԝԻ4\u00044r4�4�43�PZnZk�t�\u0001�s:Z:=�\u0017tmt��������\u001f��\u0019�\u0018\u0014\u0018�\u0019�\u0018~3�2*0�060n0\u00110�2E2}d�g�`�eN`�e�daf�dy�2�\ne\u0015f�b�d]e�gSc�c��v���n˞�>ˁ�!�\u0011���q���i͙�9DžΥ�\u0015���늛�ۙ��{���G�'��\u000b/�W�7�������ϑ��o���_�?�B\[email protected] J�[� ���`��\u0010���P�В0����k�\t\u0011d\u0011y�\u0018�^�{QAQ_�F�#1f1{�\u0012�Uq\u0012qC�L��\u0012�\u0012J\u0012q\u0012�\u0012\u000f�B���\u001f$\u000f�\u0018�l�����\t�u�Ӥ'd�d�ebd�d\u001ed�e\u0003e?ʞ�q�y���\u001d�3�;ȗ�o*�(X+�S�H�h�X���D�d�T���L�l�\\���B�b��Ne]�F�N�\\uG�I�E�N�D�K�G��F�F�&DSN��\u0016����[�Em2m+�2�=\u001d6\u001do�V�;]\t�X�/z�z:z�z+�4����\u0017\u0006�\u0006�\u0006Æ��چن�FtF�F�F��R�/�'M�M�M�L�LyMCM\u0007�P�t��Ͷ�����{,\u0010,4,�-�,�-},���4�r�6�Y���l�mtm\nmvmyl�lG����*�����\u0013�g\u001d(\u001c�\u001dZ\u0 

enter image description here

+0

Это хорошая иллюстрация. Обязательно прочтите также «Общие сведения о событиях» в документации по ГАЗ. (Вот что значит 'e'!) – Mogsdad

+0

Спасибо! Попробуем! – PumbaaDpig

Смежные вопросы