首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >包含参数时对函数的调用不起作用

包含参数时对函数的调用不起作用
EN

Stack Overflow用户
提问于 2018-07-21 02:17:42
回答 2查看 61关注 0票数 0

几个星期以来,我断断续续地试图弄清楚这一点。也许其他人会看到我遗漏的显而易见的东西。

此时,我只是尝试验证函数是否正常工作;除了检查从HTML按钮到函数的参数传递之外,我没有做任何其他事情。

这里有两个按钮在起作用。第一个方法发送参数,但不起作用--不调用Logger.log("yeeHa")语句。seconds按钮不发送任何参数,但允许调用Logger语句。

代码语言:javascript
复制
function runSetup(projectTitle,projectMgr,projectSponsor,datepicker,weeks) {
//function runSetup() {
    Logger.log("before the vars");
    var ptitle = projectTitle;
    var pMan = projectMgr;
    var pSpon = projectSponsor;
    var date = datepicker;
    var wks = weeks;
    var tHeader = "Project";
    var mHeader = "Project Manager";
    var sHeader = "Project Sponsor";
    Logger.log("yeeHa");
}
代码语言:javascript
复制
<!DOCTYPE html>
<html>
    <link rel="stylesheet" href="https://ssl.gstatic.com/docs/script/css/add-ons1.css">
    <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<head>
      
      <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
      <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
      <script>
         $( function() {
           $( "#datepicker" ).datepicker();
       } );
    </script>
    <base target="_top">
  </head>
  <body>
  <div id="container" style="padding: 10px; text-align:center;">
  
  <strong>Project Information</strong>
  <p></p>
	
  <div class="inline form-group">
    <label for="projectTitle">Project Title</label>
    <input type="text" id="projectTitle" style="width: 150px;">
  </div>
  <p></p>
  <div class="inline form-group">
    <label for="projectMgr">Project Manager</label>
    <input type="text" id="projectMgr" style="width: 150px;"> 
    <br>
  </div>
  
  <div class="inline form-group">
    <label for="projectSponsor">Project Sponsor</label><br>
    <input type="text" id="projectSponsor" style="width: 150px;"> 
    <p></p>

  </div>
  
  <input type="text" id="datepicker" value="start date">
  
<div class="inline form-group">
  <label for="state">Weeks</label>
  <input type="text" id="state" style="width: 40px;">
</div>
  
  <p></p>
  <!-- THIS BUTTON DOES NOT WORK -->
  <input type="button" class="create" name="ganntSetup" value="Setup Gannt" onClick="google.script.run.runSetup
    (document.getElementById('projectTitle').value;
     document.getElementById('projectMgr').value;
     document.getElementById('projectSponsor').value;
     document.getElementById('datepicker').value;
     document.getElementById('weeks').value;
  )" />
  <!-- THIS BUTTON WORKS BUT DOES NOT SEND NEEDED INFORMATION -->
  <input type="button" class="create" name="ganntSetup2" value="Setup Gannt2" onClick="google.script.run.runSetup()"/>
  
  <div>
  <p></p>
  <p></p>
  <input type="button" name="Main Menu" value="Main Menu" onClick="google.script.run.mainSidebar()" />
  </div>
  
  </div>
    
  <div style=
        "width: 100%;
        position: fixed;
        bottom: 0;
        width: 100%; 
        text-align:center;
        background-color:black;
        text-color:white;">
        <p><a href="http://www.fastadmin.solutions" target="blank"><b>©FastAdmin Solutions</b></a></p>
        </div>  
        </div>
  </body>
</html>

我不确定我错过了什么不允许这个处理。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-21 02:25:44

您应该使用逗号(,)分隔设置为函数参数的变量的值,而不是使用分号(;)。此外,带有weeks值的输入的id为state,但是您正在尝试使用document.getElementById("weeks")来获取它的值。

代码语言:javascript
复制
<!DOCTYPE html>
<html>
    <link rel="stylesheet" href="https://ssl.gstatic.com/docs/script/css/add-ons1.css">
    <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<head>
      
      <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
      <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
      <script>
         $( function() {
           $( "#datepicker" ).datepicker();
       } );
    </script>
    <base target="_top">
  </head>
  <body>
  <div id="container" style="padding: 10px; text-align:center;">
  
  <strong>Project Information</strong>
  <p></p>
	
  <div class="inline form-group">
    <label for="projectTitle">Project Title</label>
    <input type="text" id="projectTitle" style="width: 150px;">
  </div>
  <p></p>
  <div class="inline form-group">
    <label for="projectMgr">Project Manager</label>
    <input type="text" id="projectMgr" style="width: 150px;"> 
    <br>
  </div>
  
  <div class="inline form-group">
    <label for="projectSponsor">Project Sponsor</label><br>
    <input type="text" id="projectSponsor" style="width: 150px;"> 
    <p></p>

  </div>
  
  <input type="text" id="datepicker" value="start date">
  
<div class="inline form-group">
  <label for="weeks">Weeks</label>
  <input type="text" id="weeks" style="width: 40px;">
  <!--Changed id to weeks instead of state.-->
</div>
  
  <p></p>
  <!–– THIS BUTTON DOES NOT WORK ––>
  <input type="button" class="create" name="ganntSetup" value="Setup Gannt" onClick="runSetup
    (document.getElementById('projectTitle').value,     document.getElementById('projectMgr').value,   document.getElementById('projectSponsor').value,
     document.getElementById('datepicker').value,
     document.getElementById('weeks').value
  )" />
  <!–– THIS BUTTON WORKS BUT DOES NOT SEND NEEDED INFORMATION ––>
  <input type="button" class="create" name="ganntSetup2" value="Setup Gannt2" onClick="google.script.run.runSetup()"/>
  
  <div>
  <p></p>
  <p></p>
  <input type="button" name="Main Menu" value="Main Menu" onClick="google.script.run.mainSidebar()" />
  </div>
  
  </div>
    
  <div style=
        "width: 100%;
        position: fixed;
        bottom: 0;
        width: 100%; 
        text-align:center;
        background-color:black;
        text-color:white;">
        <p><a href="http://www.fastadmin.solutions" target="blank"><b>©FastAdmin Solutions</b></a></p>
        </div>  
        </div>
        <script>
        
        function runSetup(projectTitle,projectMgr,projectSponsor,datepicker,weeks) {
//function runSetup() {
    console.log("before the vars");
    //Logger.log("before the vars");
    var ptitle = projectTitle;
    var pMan = projectMgr;
    var pSpon = projectSponsor;
    var date = datepicker;
    var wks = weeks;
    var tHeader = "Project";
    var mHeader = "Project Manager";
    var sHeader = "Project Sponsor";
    //Logger.log("yeeHa");
    console.log("yeeHa");
}
</script>
  </body>
</html>

票数 1
EN

Stack Overflow用户

发布于 2018-07-21 02:25:36

你在函数调用中的每一项后面都有分号,我不是JS专家,但分号是行终止符,所以它们不应该是逗号吗?

代码语言:javascript
复制
onClick="google.script.run.runSetup
    (document.getElementById('projectTitle').value,
     document.getElementById('projectMgr').value,
     document.getElementById('projectSponsor').value,
     document.getElementById('datepicker').value,
     document.getElementById('weeks').value
  )"

除此之外,函数接收的值到底是什么?也许可以试着将它得到的东西与你认为你正在发送的东西进行比较。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51448328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档