我想在点击提交按钮时隐藏我的表单。我的代码如下:
<script type="text/javascript">
function hide() {
document.getElementById("test").style.display = "hidden";
}
</script>
<form method="post" id="test">
<table width="60%" border="0" cellspacing="2" cellpadding="2">
<tr style="background:url(../images/nav.png) repeat-x; color:#fff; font-weight:bold"
align="center">
<td>Ample Id</td>
<td>Find</td>
</tr>
<tr align="center" bgcolor="#E8F8FF" style="color:#006">
<td>
<input type="text" name="ampid" id="ampid" value="<?php echo $_POST['ampid'];?>"
/>
</td>
<td>
<input type="image" src="../images/btnFind.png" id="find" name="find"
onclick="javascript:hide();" />
</td>
</tr>
</table>
</form>
但是当我点击“查找”按钮时,该特定表格未被隐藏。
答案 0 :(得分:31)
应该是
document.getElementById("test").style.display = "none";
或
document.getElementById("test").style.visibility = "hidden";
第二个选项将显示表格最初出现的一些空白区域,其中第一个选项不是
答案 1 :(得分:6)
将CSS显示属性设置为无。
document.getElementById("test").style.display = "none";
另外, javascript:
属性不需要 onclick
。
<input type="image" src="../images/btnFind.png" id="find" name="find"
onclick="hide();" />
最后,请确保没有多个相同ID 的元素。
如果您的表单无处可去,Phil建议您不要提交表单。只需{strong> onsubmit 处理程序中的return false
。
<form method="post" id="test" onsubmit="return false;">
如果您希望表单发布,但在后续页面加载时隐藏div,则必须使用服务器端代码来隐藏元素:
<script type="text/javascript">
function hide() {
document.getElementById("test").style.display = "none";
}
window.onload = function() {
// if form was submitted, PHP will print the below,
// which runs function hide() on page load
<?= ($_POST['ampid'] != '') ? 'hide();' : '' ?>
}
</script>
答案 2 :(得分:5)
使用jQuery:
document.getElementById("test").style.display="none";
使用Javascript:
document.getElementById("test").style="display:none";
发出错误“无法设置属性'显示'未定义”
所以,解决这个问题的方法是:
<div style="display:inline-block" id="test"></div>
你的html代码如下所示:
template
答案 3 :(得分:4)
将hidden
替换为none
。请参阅MDN reference。
答案 4 :(得分:2)
有两种方法可以做到这一点。
大多数答案都正确指出style.display没有名为“hidden”的值。应该没有。
如果要使用“隐藏”,语法应如下所示。
object.style.visibility="hidden"
两者之间的区别在于visibility =“hidden”属性只会隐藏元素的内容,但会保留在页面上的位置。而display =“none”将隐藏您的完整元素,而页面上的其他元素将填充由它创建的空白。
选中此illustration
答案 5 :(得分:1)
也许你可以添加一个像隐藏&#39;
这样的课程按照此处的示例:https://developer.mozilla.org/fr/docs/Web/API/Element/classList。
的document.getElementById(&#34;测试&#34)。classList.add(&#34; anotherclass&#34);
答案 6 :(得分:0)
它是一个块元素,您需要使用none
document.getElementById("test").style.display="none"
hidden
用于visibility
答案 7 :(得分:0)
您需要使用display = none
隐藏的值与名为visibility
所以你的代码应该是这样的
<script type="text/javascript">
function hide(){
document.getElementById("test").style.display="none";
}
</script>
答案 8 :(得分:0)
这应该是它尝试。
document.getElementById("test").style.display="none";
答案 9 :(得分:0)
你可以使用这样的...... div
容器
<script type="text/javascript">
function hide(){
document.getElementById("test").innerHTML.style.display="none";
}
</script>
<div id="test">
<form method="post" >
<table width="60%" border="0" cellspacing="2" cellpadding="2" >
<tr style="background:url(../images/nav.png) repeat-x; color:#fff; font-weight:bold" align="center">
<td>Ample Id</td>
<td>Find</td>
</tr>
<tr align="center" bgcolor="#E8F8FF" style="color:#006" >
<td><input type="text" name="ampid" id="ampid" value="<?php echo $_POST['ampid'];?>" /></td>
<td><input type="image" src="../images/btnFind.png" id="find" name="find" onclick="javascript:hide();"/></td>
</tr>
</table>
</form>
</div>
答案 10 :(得分:0)
通过JavaScript
document.getElementById("test").style.display="none";
通过Jquery
$('#test').hide();