我是从这个问题来的:Input max equal to javascript variable,但这并不能完全解决我的问题。我目前正在使用Google的HTLM服务,并且在以下情况下需要帮助...
如果我有这样的功能:
var myVar = Function() { var x=2; return (x+x); }
...然后写我有一个这样的输入标签:
<input id... max=myVar>
...像这样设置max属性后:
.setAttribute("max", myVar)
能否成功更改max
属性?
答案 0 :(得分:1)
是的,您可以这样做,但是您需要对代码进行一些改进:
var myVar = function() { var x=2; return (x+x); }
document.querySelector("#myInput").setAttribute("max", myVar());
<form>
<input type="number" id="myInput" max>
<button>send</button>
</form>
答案 1 :(得分:1)
除了上面接受的答案:
如果您的myVar
指向Code.gs
中的函数,您会发现仅仅这样做是行不通的:
var myVar = function() { google.script.run.withSuccessHandler(onSuccess).myFunction()}
上面只会返回undefined
为了从HTML文件中的myFunction()
获取结果值,您需要执行以下操作:
function onSuccess(a) {
var myVar = a;
}
因此,要使用Code.gs
中的自定义功能来设置不同的输入标签属性,您可以这样编写:
function onSuccess(a) {
document.getElementById(*yourID*).setAttribute(*yourTargetAttribute*, a);
}
我希望这对某人有帮助,因为它确实解决了for.me的一个主要问题。