getElementById和display =" none"没有按预期工作

时间:2015-09-01 13:54:24

标签: javascript html

任何人都可以理解为什么这不起作用并向我解释?

我在本地(使用xampp)和JS Bin上尝试过这个。使用JS Bin看起来div可以隐藏,但后来又回来了。

这是我的html /代码:

$var1 = 'something';
$var2 = 'something';
                                                           ▼
$filtered_array = array_filter($your_array, function($val) use($var1, $var2){
              return ($val['mitarbeiterid']==$var1 and $val['von']==$var2);
         });

2 个答案:

答案 0 :(得分:3)

点击form中的按钮正在提交表单,导致页面重新加载(因此重新显示隐藏的div)。您需要从句柄返回false以阻止其发生。

例如:

function alts(){
    mnum=countnum.value;
    document.getElementById('maxnum').style.display = 'none';
    return false;    // this stop submission
}

<button onclick="return alts()">This Number</button>

或者如果您打算提交表单,那么您实际上根本不需要form标记,删除它将解决问题。

或者,正如@WookieCoder指出的那样,您可以使用类型为input的{​​{1}}代替button,如下所示:

button

(注意使用<input type="button" onclick="alts()" value="This Number"/> 会为您提供 提交表单的按钮。

您甚至可以为type="submit"指定类型。 大多数浏览器中的默认值为button,但您可以执行此操作:

submit

并且<button type="button" onclick="alts()">This Number</button> 的行为类似于button而不是button

答案 1 :(得分:0)

由于PostBack而回归 调用alts()后返回false。它会阻止回发

<button onclick="alts(); return false;">This Number</button>