Javascript onclick事件工作显示,但不隐藏
Javascript onclick event working to show but not to hide
这是一个非常基本的脚本,但基本上我在点击时显示一个div,然后在稍后点击按钮标题时隐藏该div。我以前这样做过,效果非常好。我就是不知道我做错了什么,或者我正在做错什么。就像我说的,第一个click()
完美显示,第二个hide()
什么也不做
JS:
function click1(){
document.getElementById('form1').style.display='block';
}
function hide1(){
document.getElementById('form1').style.display='none';
}
HTML: <tbody>
<tr>
<td style="cursor:pointer;" onclick="click1()">
<div id="form1" style="display:none;">
<form action="enter.php" method="post">
<label for="entry1">Entry1</label>
<input type="text" id="entry1" name="entry1" size="15" /><br>
<label for="entry2">Entry2</label>
<input type="text" id="entry2" name="entry2" size="15"/><br>
<label for="entry3">Entry3</label>
<input type="text" id="entry3" name="entry3" size="15"/><br>
<input type="hidden" name="id" value="1" /><br>
<input type="hidden" name="table" value="table" /><br>
<input type="submit" value="GO!" />
<input type="button" value="later" onClick="hide1()"/>
</form>
</div><sub>1</sub>
</td>
</tr>
</tbody>
该按钮是td
的子按钮,因此这两个函数将在相同的单击事件中触发。
将此添加到hide1()
:
function hide1(e){
document.getElementById('form1').style.display='none';
e.stopPropagation();
}
这将防止事件冒泡DOM并触发td
事件。
您还需要在单击处理程序中传递事件:onClick="hide1(event)"
演示:http://jsfiddle.net/7PT8U/
你可以这样做
<tbody>
<tr>
<td style="cursor:pointer;">
<div id="form1" style="display:none;">
<form action="enter.php" method="post">
<label for="entry1">Entry1</label>
<input type="text" id="entry1" name="entry1" size="15" /><br>
<label for="entry2">Entry2</label>
<input type="text" id="entry2" name="entry2" size="15"/><br>
<label for="entry3">Entry3</label>
<input type="text" id="entry3" name="entry3" size="15"/><br>
<input type="hidden" name="id" value="1" /><br>
<input type="hidden" name="table" value="table" /><br>
<input type="submit" value="GO!" />
<input type="button" value="later" onClick="hide1()"/>
</form>
</div><sub onclick="click1()">1</sub>
</td>
</tr>
</tbody>
相关文章:
- 基于其他下拉菜单选择隐藏/显示下拉菜单
- 数据表-隐藏/显示列
- $scope变量,ng隐藏/显示
- 隐藏/显示包含单词的ul li项目.但只能入住李的子女
- JQuery隐藏/显示无法正常工作
- 隐藏/显示下面的分区根据是否选择某个选项进行选择
- 使用类而不是id在JavaScript中隐藏显示
- 我想隐藏/显示我的SVG元素,同时在anguarJS中使用它
- 隐藏/显示图像
- Javascript 中的表 - 隐藏/显示列
- 仅使用Javascript隐藏/显示元素,而不会弄乱DOM
- 隐藏/显示 js 代码不会在 IE8 或更低版本上运行
- Magento:根据所选国家/地区隐藏/显示输入字段
- 货到付款选择隐藏/显示付款方式
- "隐藏/显示”;元素和更改按钮背景图像
- Bootstrap Collapse.js切换菜单的隐藏/显示
- 如何隐藏/显示<面板>使用jquery
- 在php中隐藏/显示切换回声结果
- 如何使用jquery使2个按钮切换css,而只使用1个按钮.不显示隐藏/显示
- JQuery隐藏/显示不起作用