我在一个应用程序中工作,我使用图片作为显示隐藏功能的链接。但我的问题是,每当我点击链接时,隐藏显示功能在第一次点击时不起作用,在第二次点击是它正在工作。如何解决它。这是我的代码
<div id="primaryLabel" class="box">
<div class="bottomBorder">
<h4>Personal Information</h4>
</div>
<a href="#" onclick="open_new();"><img style="border:0;margin-left: 97%;" src="<%=request.getContextPath()%>/images/edit.png" width="20" height="19" title="Click to edit"></a>
<div class="box-content">
<table>
<tr>
<th><img style="border:0;" src="<%=request.getContextPath()%>/images/home.png" width="20" height="19" title="Address of residence"><span style='color: #FF0000; display: inline;'></span></th>
<td>
<label for="address1" id="address1ForLabel">
<%=address1 %>
</label>
</td>
</tr>
<tr>
<th><img style="border:0;" src="<%=request.getContextPath()%>/images/city.png" width="20" height="19" title="City"><span style='color: #FF0000; display: inline;'></span></th>
<td>
<label for="city" id="cityForLabel">
<%=city %>
</label>
</td>
</tr>
<tr>
<th><img style="border:0;" src="<%=request.getContextPath()%>/images/phone.jpg" width="20" height="19" title="Primary Phone"><span style='color: #FF0000; display: inline;'></span></th>
<td>
<label for="primary phone" id="primaryPhoneForLabel">
<%=primaryPhone %>
</label>
</td>
</tr>
</table>
</div>
</div>
这是我使用普通java脚本的html部分
function open_new() {
if (document.getElementById('chk').checked == true) {
document.getElementById('chk').checked = false;
} else {
document.getElementById('chk').checked = true;
}
if (document.getElementById('chk').checked == true) {
document.getElementById('contentToShow').style.display = 'block';
document.getElementById('primaryLabel').style.display = 'none';
} else {
document.getElementById('contentToShow').style.display = 'none';
}
}
复选框
这个open_new()函数在第一次点击后无法正常工作,任何人都可以帮我解决???
答案 0 :(得分:1)
当您点击图片时,href标记会首先添加一个&#39;#&#39;到url,然后函数运行。但是通过添加#&#39;#&#39;到页面刷新页面,并且open_new()不会加载。
尝试更改href =&#34;#&#34; to:href =&#34; javascript:open_new()&#34;。
或者删除anchortags并将onclick放在图像上。