繁体   English   中英

返回JS函数的值并将其用作输入按钮的值

[英]Return the value of a JS function and use it as the value for an input button

我想设置一个返回字符串的JavaScript函数,该字符串用作按钮的值。 像这样的东西:

function test(){
 x = "some text";
 return x;
}

我想在value属性的input元素中使用此函数。 像这样的东西:

<input type="button" id="s1" value="test()" />

不幸的是,按钮不会在按钮上显示“某些文本”,而是“test()”。 我怎样才能解决这个问题?

你可以这样做:

<input type="button" id="s1" value="" />
<script type="text/javascript">
 var elem = document.getElementById("s1");
 elem.value = "some text";
</script>

您还可以使用自定义数据属性以优雅的方式执行此操作。

在这里查看JSFiddle演示: http//jsfiddle.net/NJ5sK/

基本上,您使用应调用的函数名称标记输入元素以返回其值。 然后,您获取具有data-value-function属性的所有元素,运行该函数并分配该值。

HTML:

<input type="text" data-value-function="cheese" />
<input type="text" data-value-function="animal" />

JS:

window.cheese = function() {
    return "Limburger";
}

window.animal = function() {
    return "Cat";
}

var elements = document.querySelectorAll('*[data-value-function]');
for (var i = 0; i < elements.length; i++) {
    var valueFunctionName = elements[i].getAttribute('data-value-function');
    elements[i].value = window[valueFunctionName]();
}

请享用!

设置按钮值的正确方法是使用HTML DOM或JQuery之类的框架。 这也有一个JSBin演示

例如,

HTML - 文档加载时运行功能test

<body onload = "test()">
  <input type="button" id="s1" value="" />
</body>

JavaScript -

function test(){
 x = "some text";
 document.getElementById("s1").value =x;
}

查看JSBin演示

html按钮的value属性仅接受文本。 看到这里

我从你的问题中理解的是你想要一个html按钮,其值应该由javascript函数设置。 你可以通过其他方式实现这一目标。

使用document.getElementById获取button元素并在test()设置value

你的代码应该是这样的:

<input type="button" id="s1"/>

<script>
   function test(){
      document.getElementById('s1').value ='some text'; //s1 is the id of html button
   };
   test(); //dont forget to call function
</script>
function test(){
    x = "some text";
    document.getElementById('s1').value = x;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM