我想设置一个返回字符串的JavaScript函数,该字符串用作按钮的值。像这样:
function test(){
x = "some text";
return x;
}
我想在value属性的input元素中使用此函数。像这样:
<input type="button" id="s1" value="test()" />
不幸的是,按钮不会在按钮上显示“某些文字”,而是显示“test()”。我该如何解决这个问题?
答案 0 :(得分:8)
<input type="button" id="s1" value="" />
<script type="text/javascript">
var elem = document.getElementById("s1");
elem.value = "some text";
</script>
答案 1 :(得分:3)
您也可以使用自定义数据属性以优雅的方式完成此操作。
在此处查看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]();
}
享受!
答案 2 :(得分:2)
设置按钮值的正确方法是使用HTML DOM或JQuery之类的框架。这也有一个JSBin Demo。
例如,
HTML - 在文档加载时运行函数test
。
<body onload = "test()">
<input type="button" id="s1" value="" />
</body>
JavaScript -
function test(){
x = "some text";
document.getElementById("s1").value =x;
}
答案 3 :(得分:1)
html按钮的value属性仅接受文本。见here。
我从你的问题中理解你想要一个html按钮,其值应该由javascript函数设置。你可以通过其他方式实现这一目标。
使用document.getElementById
获取按钮元素并在value
test()
您的代码应如下所示:
<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>
答案 4 :(得分:0)
function test(){
x = "some text";
document.getElementById('s1').value = x;
}