<button type="submit" id="start-break" name="start" type="button" class="actv-btn-dft1 blbg" onClick="showhide('start-break', 'stop-break');return false;" title="Start Break">Start Break</button>
<button type="submit" id="stop-break" type="button" class="actv-btn-dft1 orbg" onClick="showhide('stop-break', 'start-break');return false;" style="display:none" title="Stop Break">Stop Break</button>
我正在使用类似切换按钮的东西,其中点击开始显示停止然后点击停止开始按钮可见。
我正在使用showhide(&#39; start-break&#39;,&#39; stop-break&#39;)javascript函数,如下所述
function showhide(hideid,showid)
{
document.getElementById(showid).style.display='block';
document.getElementById(hideid).style.display='none';
}
我想知道为什么我无法获得控制器中启动或停止的值。
- &GT;如果我在onclick中删除了返回false,我会将其提交但是UI会受到干扰(单击strat时按钮不会保持在停止位置)
提前致谢!
答案 0 :(得分:3)
return false;
阻止提交。提交表单时,页面当然会刷新表单提交请求的响应。
只是不要使用JS来显示/隐藏按钮。使用服务器端语言(基于您的配置文件和您正在使用“J2EE”的编辑历史记录,因此您熟悉JSP):
<c:if test="${empty param.start}">
<button type="submit" name="start">Start</button>
</c:if>
<c:if test="${not empty param.start}">
<button type="submit" name="stop">Stop</button>
</c:if>
另一种方法是使用Ajax提交表单。但这是一个完全不同的故事。
答案 1 :(得分:1)
您是否尝试将return false;
放在showHide()
函数的末尾而不是元素'onclick
属性中?如果我没弄错的话,你不应该在一个内联属性中有多个javascript语句。
答案 2 :(得分:1)
如果没有任何反应,那么你的函数声明是否超出了窗口范围?您的代码在http://jsfiddle.net/TZMkH/1/
中适合我