HTML form is not running a (withSuccessHandler)function
I have this HTML form in Google App Script(Sheets) that asks a user for a date value and then to submit the value. The HTML form runs. the only problem is the obj doesn't log. I can't figure out why this is.
The HTML:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<form id="myForm">
<input type="date" name="startDate" value="" id="demo" >
<input type="button" style="font-family: verdana;" value="Submit" onclick="getStartDate()">
</form>
<script>
function success(msg) {
alert(msg);
}
function getStartDate(){
var form = document.getElementById("myForm").elements;
var obj ={};
for(var i = 0 ; i < form.length ; i++){
var item = form.item(i);
obj[item.name] = item.value;
}
google.script.run
.withSuccessHandler(success)
.getStartDate(obj);
google.script.host.close();
};
</script>
</body>
</html>
The Javascript:
function getStartDate(obj){
Logger.log(obj)
}
This should output the object but it doesn't.
Thanks for your help!
html google-apps-script
add a comment |
I have this HTML form in Google App Script(Sheets) that asks a user for a date value and then to submit the value. The HTML form runs. the only problem is the obj doesn't log. I can't figure out why this is.
The HTML:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<form id="myForm">
<input type="date" name="startDate" value="" id="demo" >
<input type="button" style="font-family: verdana;" value="Submit" onclick="getStartDate()">
</form>
<script>
function success(msg) {
alert(msg);
}
function getStartDate(){
var form = document.getElementById("myForm").elements;
var obj ={};
for(var i = 0 ; i < form.length ; i++){
var item = form.item(i);
obj[item.name] = item.value;
}
google.script.run
.withSuccessHandler(success)
.getStartDate(obj);
google.script.host.close();
};
</script>
</body>
</html>
The Javascript:
function getStartDate(obj){
Logger.log(obj)
}
This should output the object but it doesn't.
Thanks for your help!
html google-apps-script
add a comment |
I have this HTML form in Google App Script(Sheets) that asks a user for a date value and then to submit the value. The HTML form runs. the only problem is the obj doesn't log. I can't figure out why this is.
The HTML:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<form id="myForm">
<input type="date" name="startDate" value="" id="demo" >
<input type="button" style="font-family: verdana;" value="Submit" onclick="getStartDate()">
</form>
<script>
function success(msg) {
alert(msg);
}
function getStartDate(){
var form = document.getElementById("myForm").elements;
var obj ={};
for(var i = 0 ; i < form.length ; i++){
var item = form.item(i);
obj[item.name] = item.value;
}
google.script.run
.withSuccessHandler(success)
.getStartDate(obj);
google.script.host.close();
};
</script>
</body>
</html>
The Javascript:
function getStartDate(obj){
Logger.log(obj)
}
This should output the object but it doesn't.
Thanks for your help!
html google-apps-script
I have this HTML form in Google App Script(Sheets) that asks a user for a date value and then to submit the value. The HTML form runs. the only problem is the obj doesn't log. I can't figure out why this is.
The HTML:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<form id="myForm">
<input type="date" name="startDate" value="" id="demo" >
<input type="button" style="font-family: verdana;" value="Submit" onclick="getStartDate()">
</form>
<script>
function success(msg) {
alert(msg);
}
function getStartDate(){
var form = document.getElementById("myForm").elements;
var obj ={};
for(var i = 0 ; i < form.length ; i++){
var item = form.item(i);
obj[item.name] = item.value;
}
google.script.run
.withSuccessHandler(success)
.getStartDate(obj);
google.script.host.close();
};
</script>
</body>
</html>
The Javascript:
function getStartDate(obj){
Logger.log(obj)
}
This should output the object but it doesn't.
Thanks for your help!
html google-apps-script
html google-apps-script
asked Nov 25 '18 at 5:45
Brandon Pillay Brandon Pillay
8218
8218
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
How about this modification?
Modification points:
google.script.run
works by the asynchronous processing. So in your script,getStartDate()
andsuccess()
are not run due togoogle.script.host.close()
.
getStartDate()
at GAS side doesn't return values. Soalert(msg)
showsundefined
.
When above points are reflected to your script, it becomes as follows.
Modified script:
HTML:
Please modify Javascript as follows.
function success(msg) {
alert(JSON.stringify(msg)); // Modified
}
function getStartDate(){
var form = document.getElementById("myForm").elements;
var obj ={};
for(var i = 0 ; i < form.length ; i++){
var item = form.item(i);
obj[item.name] = item.value;
}
google.script.run
.withSuccessHandler(function(e) { // Modified
success(e);
google.script.host.close();
})
.getStartDate(obj);
};
GAS:
function getStartDate(obj){
Logger.log(obj)
return obj; // Modified
}
Note:
- If you want to give the key to
Submit
, please addname
to<input type="button" style="font-family: verdana;" value="Submit" onclick="getStartDate()">
. - Of course, you can also move
google.script.host.close()
tosuccess()
.
Reference:
- google.script.run
If this was not what you want, please tell me. I would like to modify it.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53464989%2fhtml-form-is-not-running-a-withsuccesshandlerfunction%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
How about this modification?
Modification points:
google.script.run
works by the asynchronous processing. So in your script,getStartDate()
andsuccess()
are not run due togoogle.script.host.close()
.
getStartDate()
at GAS side doesn't return values. Soalert(msg)
showsundefined
.
When above points are reflected to your script, it becomes as follows.
Modified script:
HTML:
Please modify Javascript as follows.
function success(msg) {
alert(JSON.stringify(msg)); // Modified
}
function getStartDate(){
var form = document.getElementById("myForm").elements;
var obj ={};
for(var i = 0 ; i < form.length ; i++){
var item = form.item(i);
obj[item.name] = item.value;
}
google.script.run
.withSuccessHandler(function(e) { // Modified
success(e);
google.script.host.close();
})
.getStartDate(obj);
};
GAS:
function getStartDate(obj){
Logger.log(obj)
return obj; // Modified
}
Note:
- If you want to give the key to
Submit
, please addname
to<input type="button" style="font-family: verdana;" value="Submit" onclick="getStartDate()">
. - Of course, you can also move
google.script.host.close()
tosuccess()
.
Reference:
- google.script.run
If this was not what you want, please tell me. I would like to modify it.
add a comment |
How about this modification?
Modification points:
google.script.run
works by the asynchronous processing. So in your script,getStartDate()
andsuccess()
are not run due togoogle.script.host.close()
.
getStartDate()
at GAS side doesn't return values. Soalert(msg)
showsundefined
.
When above points are reflected to your script, it becomes as follows.
Modified script:
HTML:
Please modify Javascript as follows.
function success(msg) {
alert(JSON.stringify(msg)); // Modified
}
function getStartDate(){
var form = document.getElementById("myForm").elements;
var obj ={};
for(var i = 0 ; i < form.length ; i++){
var item = form.item(i);
obj[item.name] = item.value;
}
google.script.run
.withSuccessHandler(function(e) { // Modified
success(e);
google.script.host.close();
})
.getStartDate(obj);
};
GAS:
function getStartDate(obj){
Logger.log(obj)
return obj; // Modified
}
Note:
- If you want to give the key to
Submit
, please addname
to<input type="button" style="font-family: verdana;" value="Submit" onclick="getStartDate()">
. - Of course, you can also move
google.script.host.close()
tosuccess()
.
Reference:
- google.script.run
If this was not what you want, please tell me. I would like to modify it.
add a comment |
How about this modification?
Modification points:
google.script.run
works by the asynchronous processing. So in your script,getStartDate()
andsuccess()
are not run due togoogle.script.host.close()
.
getStartDate()
at GAS side doesn't return values. Soalert(msg)
showsundefined
.
When above points are reflected to your script, it becomes as follows.
Modified script:
HTML:
Please modify Javascript as follows.
function success(msg) {
alert(JSON.stringify(msg)); // Modified
}
function getStartDate(){
var form = document.getElementById("myForm").elements;
var obj ={};
for(var i = 0 ; i < form.length ; i++){
var item = form.item(i);
obj[item.name] = item.value;
}
google.script.run
.withSuccessHandler(function(e) { // Modified
success(e);
google.script.host.close();
})
.getStartDate(obj);
};
GAS:
function getStartDate(obj){
Logger.log(obj)
return obj; // Modified
}
Note:
- If you want to give the key to
Submit
, please addname
to<input type="button" style="font-family: verdana;" value="Submit" onclick="getStartDate()">
. - Of course, you can also move
google.script.host.close()
tosuccess()
.
Reference:
- google.script.run
If this was not what you want, please tell me. I would like to modify it.
How about this modification?
Modification points:
google.script.run
works by the asynchronous processing. So in your script,getStartDate()
andsuccess()
are not run due togoogle.script.host.close()
.
getStartDate()
at GAS side doesn't return values. Soalert(msg)
showsundefined
.
When above points are reflected to your script, it becomes as follows.
Modified script:
HTML:
Please modify Javascript as follows.
function success(msg) {
alert(JSON.stringify(msg)); // Modified
}
function getStartDate(){
var form = document.getElementById("myForm").elements;
var obj ={};
for(var i = 0 ; i < form.length ; i++){
var item = form.item(i);
obj[item.name] = item.value;
}
google.script.run
.withSuccessHandler(function(e) { // Modified
success(e);
google.script.host.close();
})
.getStartDate(obj);
};
GAS:
function getStartDate(obj){
Logger.log(obj)
return obj; // Modified
}
Note:
- If you want to give the key to
Submit
, please addname
to<input type="button" style="font-family: verdana;" value="Submit" onclick="getStartDate()">
. - Of course, you can also move
google.script.host.close()
tosuccess()
.
Reference:
- google.script.run
If this was not what you want, please tell me. I would like to modify it.
answered Nov 25 '18 at 6:09
TanaikeTanaike
23.1k21124
23.1k21124
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53464989%2fhtml-form-is-not-running-a-withsuccesshandlerfunction%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown