javascript - 如何根据来自 DOM 的值更改变量
问题描述
如何根据 HTML 中的用户选择更改变量,在我的情况下为“docFileID”。例如,如果用户选择 month-8,则 docFileID 将等于 =“qwer”,或者如果用户选择 month-9,则 docFileID =“jklk”,依此类推。
我已经尝试过了,但它不起作用。我在控制台中收到此错误: Uncaught at createPdf (Code:30)
HTML
<div class="input-field " style="padding:0.2cm;" >
<select name="name" class="browser-default" id="sel">
<option value="" disabled selected> Choose your option</option>
<option value="1">month-8</option>
<option value="2">month-9</option>
<option value="3">month-10</option>
<option value="4">month-11</option>
<option value="5">month-12</option>
</select>
Javascript
function addRecord (){
var id = document.getElementById('id').value;
var name = document.getElementById('name').value;
var dep = document.getElementById('dep').value;
var job = document.getElementById('job').value;
var sel;
if(document.getElementById("sel").value == "mothe-8"){
sel = '1zjkJ8f';
}
else{
if(document.getElementById("sel").value == "month-9"){
sel = '1mWjyTVx';
} else{
sel = '' ;
}
if(document.getElementById("sel").value == "month-10"){
sel = '1s1GnG3fB7';
} else{
sel = '' ;
}
if(document.getElementById("sel").value == "month-11"){
sel = '1OKuviyHRiWW';
} else{
sel ='' ;
}
if(document.getElementById("sel").value == "month-12"){
sel = '1WbzrU12VEwuMsoE';
} else{
sel = '' ;
}
}
google.script.run.withSuccessHandler(onSuccess).createPdf(name,id,dep,job,sel);
google.script.run.withFailureHandler(onFailure).createPdf();
} // addRecord ended
我要更改的代码是它的 id :
function createPdf (name,id,dep,job,sel,docFile,tempFolder,pdfFolder) {
var docFileID= sel;
} // createPdf closed
解决方案
该value
属性是指 HTML 中的值,而不是option
元素的文本。此外,逻辑是一团糟,你应该使用一个switch
或至少else if
function addRecord(){
var sel;
switch(document.getElementById("sel").value){
case "month-8":
sel = '1zjkJ8f';
break;
case "month-9":
sel = '1mWjyTVx';
break;
case "month-10":
sel = '1s1GnG3fB7';
break;
case "month-11":
sel = '1OKuviyHRiWW';
break;
case "month-12":
sel = '1WbzrU12VEwuMsoE';
break;
default:
sel = '' ;
}
console.log(sel);
}
<div class="input-field " style="padding:0.2cm;" >
<select name="name" class="browser-default" id="sel" onchange="addRecord()">
<option value="" disabled selected> Choose your option</option>
<option value="month-8">month-8</option>
<option value="month-9">month-9</option>
<option value="month-10">month-10</option>
<option value="month-11">month-11</option>
<option value="month-12">month-12</option>
</select>
推荐阅读
- ios - 如何从 WKWebView 获取服务器的响应
- sql - 如何编写 SQL 查询来选择得分高于上一年的击球手
- cassandra - 带有更新的 Cassandra 集群订单 [性能]
- java - 序列化 CachedRowSet
- javascript - 带有标题和下拉的数据表
- sql - 当函数在多个插入之一上失败但执行了触发器时,Postgresql 捕获回滚
- python - 未收到数据
- ios - 带有 kCLLocationAccuracyBestForNavigation 的 CLLocationManager 不是很准确
- angular - 如何在 SeleniumWebdriver 脚本中处理 shadowdom
- shell - 使用 sed 将时间戳替换为日期