我正在尝试使用onclick函数更改输入按钮的值,但无论我做什么,似乎都不能让它工作,而且我在这里找到的答案似乎都没有帮助。
function button() {
var btn = document.getElementById("tz");
if (btn.value == "UTC") {
btn.value = "Local time";
} else {
btn.value = "UTC";
}
}
<input type="button" id="tz" onclick="button()" value="UTC">
发布于 2018-08-23 04:04:21
这是一个.value和.innerHTML的案例...您正在更改.value (并且可以正常工作),但是您并没有同时更新button.innerHTML (一个标签...不是值).
<script>
function changeValue(button) {
console.log('The original value of the button is: ', button.value, ' and the innerHTML is: ', button.innerHTML);
if (button.value == "UTC") {
button.value = "Local time";
console.log('Now the value has changed to: ', button.value, ' but the innerHTML has not: ', button.innerHTML);
button.innerHTML = "Local time";
console.log('The new value of the button is still: ', button.value, ' but now the innerHTML is also changed: ', button.innerHTML);
}
}
<button id="tz" type="button" value="UTC" onClick="changeValue(this);" name="button">UTC</button>
发布于 2018-08-23 04:15:49
对我来说起作用的是利用事件绑定。使用Tyler Roper的建议,我所要做的就是为按钮函数添加一个事件侦听器,并完全省略内联onclick事件。
var btn = document.getElementById("tz");
function button() {
if (btn.value == "UTC") {
btn.value = "Local time";
} else {
btn.value = "UTC";
}
}
btn.addEventListener("click", button, false);
<input type="button" id="tz" value="UTC"></input>
https://stackoverflow.com/questions/51973822
复制相似问题