javascript Onclick并提交不一起工作

时间:2011-12-07 03:35:51

标签: javascript javascript-events

<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时按钮不会保持在停止位置)

提前致谢!

3 个答案:

答案 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/

中适合我