Javascript 如何避免需要变量?
我正在创建一个表单,该表单由谷歌应用程序脚本处理,该脚本将结果转储到谷歌电子表格中。表单根据需要增长,使用Javascript和DOM使用id=“duplicate\u me”复制节 我能想出的唯一解决办法是把数字改成C?一个变量,但我意识到这是一个糟糕的解决方案,很难实现 如何将这些变量转换成允许我在循环中执行此命令的形式,而不是手动创建任意数量的这些条目 谢谢你的想法Javascript 如何避免需要变量?,javascript,dom,google-apps-script,Javascript,Dom,Google Apps Script,我正在创建一个表单,该表单由谷歌应用程序脚本处理,该脚本将结果转储到谷歌电子表格中。表单根据需要增长,使用Javascript和DOM使用id=“duplicate\u me”复制节 我能想出的唯一解决办法是把数字改成C?一个变量,但我意识到这是一个糟糕的解决方案,很难实现 如何将这些变量转换成允许我在循环中执行此命令的形式,而不是手动创建任意数量的这些条目 谢谢你的想法 --Dave您的解决方案完全正确 在循环中,写入e.parameter['C'+i+''u name']什么是“变量变量”?
--Dave您的解决方案完全正确
在循环中,写入
e.parameter['C'+i+''u name']
什么是“变量变量”?“变量取变量的值,并将其视为变量的名称。”我当前正在使用eval()为了解决这个问题,一旦系统允许,我将发布这种类型的解决方案。当我尝试以e.parameter.C1\u name的身份访问e.parameter[C1\u name]时,Google返回一个错误:ReferenceError:“C1\u firstname”未定义。
@Dave:[
需要一个字符串。您需要使用字符串连接,如我在回答中所示。
<form method="post" action="https://script.google.com/macros/s/.../exec">
<fieldset>
<input type="text" name="P_name">
<input type="text" name="P_addr">
</fieldset>
<fieldset id="duplicate_me">
<input type="text" name="C1_name">
<input type="text" name="C1_addr">
</fieldset>
<fieldset id="first_duplicate">
<input type="text" name="C2_name">
<input type="text" name="C2_addr">
</fieldset>
</form>
function doPost(e) {
...
sheet.appendRow([ e.parameter.P_name, e.parameter.P_addr, e.parameter.C1_name, e.parameter.C1_addr ] );
sheet.appendRow([ e.parameter.P_name, e.parameter.P_addr, e.parameter.C1_name, e.parameter.C1_addr ] );
...
}