我试图在onclick时更改按钮的值。到目前为止,我能够工作,但我希望它再次点击时更改回原始值。有什么建议吗?
我的代码:
{if $activity_count > "0"}
<input onclick="change()" type="button" class="rbutton" value="Show/Hide" id="show_act" />
{literal}
<script>
function change()
{
document.getElementById("show_act").value="Hide/Show";
}
</script>
{/literal}
{else}
{/if}
答案 0 :(得分:3)
设置标志:
var state = true;
然后修改您的更改功能以切换状态并根据状态执行相应的更新:
function change()
{
var textValue = state ? "Hide/Show" : "Show/Hide"; // select the value based on the state
document.getElementById("show_act").value=textValue; // apply the value
state = !state; // toggle the state for the next click
}
以下是一个实例:http://jsfiddle.net/7kxA8/
答案 1 :(得分:1)
试试这个:
document.getElementById("show_act").value = (document.getElementById("show_act").value == "Show") ? "Hide" : "Show";
这一行代码在 change()功能中足够了。
答案 2 :(得分:1)
这是一个示例,它会有一个按钮,单击它时会显示hello和goodbye。使用document.getElementById(“show_act”)将变量调用变量有点困难。在这种情况下,提交按钮有一个名为“show_act”的ID,因此请确保跟踪您的名称。祝你的编程好运!
<script>
function change(id,text1,text2){
if(document.getElementById(id).value == text1) document.getElementById(id).value = text2;
else document.getElementById(id).value = text1;
}
</script>
<input onClick="change('show_act','Show','Hide');" type="button" class="rbutton" value="Show" id="show_act" />
答案 3 :(得分:0)
你可以试试这个: -
function change()
{
var element = getdocument.ElemnetById .("show_act");
element.setAttribute("clicked",true);
if(element.getAttribute("clicked") === 'true'){
element.value="Show/Hide";
element.removeAttribute("clicked")
}else {
element.value="Hide/Show";
}
}