几个星期以来,我断断续续地试图弄清楚这一点。也许其他人会看到我遗漏的显而易见的东西。
此时,我只是尝试验证函数是否正常工作;除了检查从HTML按钮到函数的参数传递之外,我没有做任何其他事情。
这里有两个按钮在起作用。第一个方法发送参数,但不起作用--不调用Logger.log("yeeHa")语句。seconds按钮不发送任何参数,但允许调用Logger语句。
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");
}<!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>
我不确定我错过了什么不允许这个处理。
发布于 2018-07-21 02:25:44
您应该使用逗号(,)分隔设置为函数参数的变量的值,而不是使用分号(;)。此外,带有weeks值的输入的id为state,但是您正在尝试使用document.getElementById("weeks")来获取它的值。
<!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>
发布于 2018-07-21 02:25:36
你在函数调用中的每一项后面都有分号,我不是JS专家,但分号是行终止符,所以它们不应该是逗号吗?
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
)"除此之外,函数接收的值到底是什么?也许可以试着将它得到的东西与你认为你正在发送的东西进行比较。
https://stackoverflow.com/questions/51448328
复制相似问题