gpt4 book ai didi

javascript - 列表框不将字符串传递给谷歌脚本

转载 作者:行者123 更新时间:2023-11-28 07:30:31 26 4
gpt4 key购买 nike

当我从列表框中选择一个用户时,onChange() 事件会触发一个函数。它应该将一个字符串传递给该函数。然后代码找到用户的密码并将其返回以进行比较。如果我对用户值进行硬编码,以下代码可以正常工作,但当我从列表框中选择它时则不行。

function addClients(clients){
$('#customer').empty();
$('#customer').append('<option> ---- Choose a user ----</option>');
for (var i in clients) {
$('#customer').append('<option>'+clients[i]+'</option>');
$('#customer').trigger("chosen:updated");
}
}

getval 函数:

function getval(sel){
var usrpass = google.script.run.getuserpass(sel.value);
alert(usrpass);
}

code.gs中的函数如下

function getuserpass(userval){
var usrpass = "";
var doc = SpreadsheetApp.openById("spreadsheet id");
var sheet = doc.getActiveSheet();
var data = sheet.getRange(3, 3, sheet.getLastRow(),5).getValues();;
for(n=0;n<data.length;++n){
// iterate row by row and examine data in column A
if(data[n][0].toString().match(userval)==userval){ usrpass = data[n][4]};
}
return usrpass;
}

为什么返回值返回为未定义而不是密码。

如果我在函数中硬编码用户名并运行该函数,则返回值是第五列中的值。

最佳答案

尝试像这样构造代码:

<script>
function onSuccess(returnVal) {
alert('Success! ' + returnVal);
};

function getval(sel){

var selectValue = sel.value;
console.log('selectValue: ' + selectValue);

google.script.run
.withSuccessHandler(onSuccess)
.getuserpass(sel.value);
};

</script>

您可以迭代该对象以查看其中的实际内容,作为调试测试。

for (var propertyVal in sel) {
console.log('this property: ' + propertyVal);
console.log('this value: ' + sel[propertyVal]);
};

看看对象中到底有什么。

关于javascript - 列表框不将字符串传递给谷歌脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29174066/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com