首页 > 解决方案 > 如何根据来自 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 

标签: javascripthtmldomgoogle-apps-script

解决方案


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>


推荐阅读