我花了2天的时间来弄清楚这一点,以便对您的帮助表示感谢。
我正在关注此nice little video tutorial series 我想尝试一些基本操作,然后再做进一步的工作:使用html按钮显示一个使用google apps脚本及其HTML服务组件显示的javascript警报,但就我个人而言,我不明白为什么未触发该警报。
这是我的代码
Index.html
<!DOCTYPE html>
<html>
<head>
<script>
document.getElementById("btnSearch")
.addEventListener("click",showAlert);
function showAlert() {
alert("hello world");
}
</script>
</head>
<body>
<div>
<label>Enter code</label>
<input type="text" id="txtStudentID"/>
<button id="btnSearch">Search</button>
</div>
</body>
</html>
和我的 code.gs
function doGet() {
return HtmlService.createHtmlOutputFromFile('Index');
}
我也尝试像google一样显示here:但是按下按钮后,我仍然没有收到要触发的警报:
<input type="button" value="Search"
onclick="google.script.run
.withSuccessHandler(showAlert)
.withUserObject(this)" />
就像脚本标记中以“ document.getElementByID ...”开头的所有内容一样根本无法工作
我想念什么? GAPS不再支持此功能吗?有其他/合适的方法可以使它正常工作吗?
先谢谢您
答案 0 :(得分:2)
任何在脚本标签中以“ document.getElementByID ...”开头的内容都将无法正常工作
是的。因为在评估脚本标签时,没有ID为btnSearch
的元素。
<div>
<label>Enter code</label>
<input type="text" id="txtStudentID" />
<button id="btnSearch">Search</button>
</div>
<script>
function showAlert() {
alert('hello world');
}
document.getElementById('btnSearch').addEventListener('click', showAlert);
</script>
load
触发器;以便在加载DOM之后评估脚本。<script>
function showAlert() {
alert('hello world');
}
function load1() {
document.getElementById('btnSearch').addEventListener('click', showAlert);
}
window.addEventListener('load', load1);
</script>
答案 1 :(得分:0)
尝试将addEvent放入window.onload