use*_*688 2 html javascript arrays jquery google-apps-script
我正在使用GAS HTMLService设计一个Web应用程序并遇到了一个我无法克服的重大障碍 - 所以我希望能得到你们所有人的帮助.
我可以使用标准的doGet创建模板并正确显示HTML:
function doGet(e){
var ss = SpreadsheetApp.openById('SpreadSheetKey');
var usersheet = ss.getSheetByName('UserInfo');
var lastRow = usersheet.getLastRow();
var Userrange = usersheet.getRange(2, 1, lastRow-1, 4);
var Uservalues = Userrange.getValues();
var length = Uservalues.length;
var template = HtmlService.createTemplateFromFile('Form.html');
template.stuff = {};
template.stuff = Uservalues;
template.action = ScriptApp.getService().getUrl();
return template.evaluate();
}
Run Code Online (Sandbox Code Playgroud)
只要我从HTML文件中删除这段代码,HTML就会正常呈现:
$('#chkP').click(function(){
var email = '<?=email?>';
var usename = $('#myuserName').val();
for(var i=0;i<num;i++){
var name = '<?!=stuff[i][0]?>';
alert(name);
}
});
Run Code Online (Sandbox Code Playgroud)
该问题似乎与尝试使用'i'变量有关 - 我可以使用以下方法获取正确的信息:
'<?=stuff[2][0]?>' // THIS WORKS
<?=stuff[i][0]?> //THIS DOES NOT -- IT IS ALWAYS undefined
// it's like 'i' and <?stuff?> aren't in the same scope??
Run Code Online (Sandbox Code Playgroud)
所以我有一个理论,我有一个ServerSide数组:
(Spreadsheetapp.blahblah.getValues();)
Run Code Online (Sandbox Code Playgroud)
客户端无法使用该功能.
我的问题是,如何将这些数据从电子表格中提取到HTML表单中,并可以使用简单的"for"循环作为数组进行迭代....
或者,还有更好的方法?
您是正确的,该阵列在服务器上.内部的任何代码<? .. ?>
都是服务器代码),并且在客户端上不可用.
你可以做的是将整个数组复制到客户端,以便以后可以迭代它:
假设您在服务器上有一个数组:
<? var serverStuff = [1, 2, 3]; ?>
Run Code Online (Sandbox Code Playgroud)
您可以告诉模板将其复制到客户端(基本上,将其值直接写入客户端代码中).
<script>
...
var clientStuff = <?!= JSON.stringify(serverStuff) ?>;
...
// Now you have it on the client! You can use it here:
alert(clientStuff[0]);
</script>
Run Code Online (Sandbox Code Playgroud)
您可以通过在服务器上记录模板的内容(在评估之后)来查看发生的情况:
Logger.log(template.evaluate().getContent());
Run Code Online (Sandbox Code Playgroud)
哪个会给你这个实际的客户端代码,并将数组的副本写入其中:
<script>
...
var clientStuff = [1, 2, 3];
...
// Now you have it on the client! You can use it here:
alert(clientStuff[0]);
</script>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1513 次 |
最近记录: |