我最近一直在研究像this这样的东西,我想知道你是否可以用文本做同样的事情来返回html编码?
例如;
的index.html;
<!DOCTYPE html>
<html lang="en-US">
<head>
<script>
function myFunction(html)
{
var text = document.getElementsByName("name_1")[0].value;
document.getElementById("html").innerHTML = html;
}
</script>
</head>
<body>
<form>
<input type="text" name="name_1" placeholder="Send url to get text" />
<input type="button" value="Send url to get text" onclick="google.script.run.withSuccessHandler(myFunction).sendTextToServer()" />
</form>
<div id="html"></div>
</body>
</html>
Code.gs:
function sendTextToServer() {
// I don't know how to get the text from index.html
var text;
if(text != "") {
text = UrlFetchApp.fetch(text);
} else {
text = 'Unable to fetch html.';
}
return text;
}
答案 0 :(得分:0)
在该文档中,this
关键字用于函数的参数部分:
this.parentNode
这将是:
onclick="google.script.run.withSuccessHandler(myFunction).sendTextToServer(this.parentNode)"
在你的情况下。该按钮是表单的子项,因此表单是按钮的父项。按钮中的代码获取按钮的父级,即表单。在你的代码中,你把它留了出来。没关系,如果你想使用不同的方法,你只需要以其他方式获取数据。
您可以先给输入标记一个id:
<input id='idInputTxt' type="text" name="name_1" placeholder="Send url to get text" />
然后按id:
获取元素function sendTextToServer() {
//get the text from index.html
var text = document.getElementById("idInputTxt").value;
if(text != "") {
text = UrlFetchApp.fetch(text);
} else {
text = 'Unable to fetch html.';
}
return text;
}
您还可以获取整个表单对象:
为表单元素指定一个id:
<form id='idForm1'>
获取表格:
function sendTextToServer() {
//get the form data from index.html
var objForm = document.getElementById("idForm1");
如果您获得整个表单,Apps脚本会将其转换为比表单对象更小的对象。然后你可以遍历这些值。