我可以使用函数更改输入标签的max属性吗?

时间:2019-06-20 13:47:41

标签: javascript html google-apps-script

我是从这个问题来的: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属性?

2 个答案:

答案 0 :(得分:1)

是的,您可以这样做,但是您需要对代码进行一些改进:

  • function()必须较低,javascript区分大小写
  • 您必须在myVar之后添加()才能将其调用为函数
  • 提交表单时,
  • 最高限额将被检查

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的一个主要问题。