使用javascript显示/隐藏div块的Coldfusion
我正在用ColdFusion5编程,并试图根据select语句的onchange调用显示/隐藏一个div代码块。我在网上发现了类似的问题,但是我没有幸使用style.display或visibility。通过这段代码,我能够进入js函数,第一个警报触发select selection的值,然后在if语句中得到第二个警报。一旦它到达隐藏/显示div的行,它就会退出。有什么想法吗 ColdFusion代码注意:此代码位于iframe中:使用javascript显示/隐藏div块的Coldfusion,javascript,html,coldfusion,Javascript,Html,Coldfusion,我正在用ColdFusion5编程,并试图根据select语句的onchange调用显示/隐藏一个div代码块。我在网上发现了类似的问题,但是我没有幸使用style.display或visibility。通过这段代码,我能够进入js函数,第一个警报触发select selection的值,然后在if语句中得到第二个警报。一旦它到达隐藏/显示div的行,它就会退出。有什么想法吗 ColdFusion代码注意:此代码位于iframe中: 这让我很烦,所以我用html文件尝试了一下。这和冷饮无关。下面
这让我很烦,所以我用html文件尝试了一下。这和冷饮无关。下面是iframe中页面的相关部分
<p id="p2">This is page 2.</p>
<form id="myForm" action="Page2.html" method="post">
<div id="div1">
<p>This is in the div.</p>
</div>
</form>
下面是父页面的相关部分,包括javascript
<p id="p1">hello</p>
<iframe id="myIframe" width="100" height="200" src="Page2.html"></iframe>
<p>
<button id="theButton" value="a button" onclick="hideDiv()"></button>
</p>
<script>
function hideDiv() {
var iFrame = document.getElementById("myIframe");
var theDiv = iFrame.contentWindow.document.getElementById("div1");
theDiv.style.visibility = "hidden";
}
</script>
这段代码在Firefox中工作。我没有在其他浏览器中尝试过它。我给出了jquery在签入切换中隐藏/显示div的示例
<!--jquery code -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>
<script language="jscript">
$(document).ready(function(){
$("#NewVendor").click(function(){
$("#ebdiv").toggle();
});
});
</script>
<!--jquery code ends -->
<!-- cf part--->
<input type="checkbox" name="NewVendor" id="NewVendor" /> New Vendor
<div id="ebdiv" >
<table border="0" width="70%" cellspacing="0" cellpadding="0" id="cartContentsDisplay">
<tr>
<td width="25%"><b>New Vendor </b></td> <td>:*</td><td align="left"><cfinput type="text" name="VendorName" id="VendorName" value="" size="30" />
</td>
</tr>
<tr>
<td><b>Address</b> </td> <td>:*</td><td align="left"><cfinput type="text" name="Address" id="Address" value="" size="30" />
</td>
</tr>
<tr>
</table>
<<!-- cf part ends--->
它正在使用Chrome浏览器,并在其他浏览器中进行了检查。结果表明,这是一个覆盖过度的问题,删除表单名称解决了该问题:
window.my_iframe.document.getElementById('GuestLayer1').style.display = 'none';
试试这个代码
<script type='text/javascript'>
function showDiv() {
if (document.getElementById('hiddenDiv').style.display == 'block') {
document.getElementById('hiddenDiv').style.display = 'none';
} else {
document.getElementById('hiddenDiv').style.display = 'block';
}
}
</script>
<div id="hiddenDiv" style="display:none;" class="answer_list" >
WELCOME
</div>
<input type="button" name="answer" value="Show Div" onclick="showDiv()" />
如果您使用Firefox/Firebug,是否会看到任何未定义的变量错误?Firebug显示:TypeError:window.my_iframe.document.formAttendees.getElementById不是一个函数,您可能处理过度了。如果你在没有Formattendes的情况下尝试它会怎么样?不知道为什么这会被提升。使用jquery是一个好主意。但是,上面的代码并没有按照他们的要求执行,这会从iframe中的select列表触发一个操作。
window.my_iframe.document.getElementById('GuestLayer1').style.display = 'none';
<script type='text/javascript'>
function showDiv() {
if (document.getElementById('hiddenDiv').style.display == 'block') {
document.getElementById('hiddenDiv').style.display = 'none';
} else {
document.getElementById('hiddenDiv').style.display = 'block';
}
}
</script>
<div id="hiddenDiv" style="display:none;" class="answer_list" >
WELCOME
</div>
<input type="button" name="answer" value="Show Div" onclick="showDiv()" />