这必须简单:我根据具有两个选项的表单设置一个框架页面,其中包含两个可能的目标框架源。我使用OnClick事件来捕获用户的单击以显示相应的页面。它在Internet Explorer 7中正常工作,交换两个源页面。 FireFox 3和Chrome仅显示默认来源。
HEAD脚本部分:
function SwapInlineFrameSource()
{
var rsRadio, rsiFrame;
rsRadio=document.getElementById('County');
rsiFrame=document.getElementById('RatesFrame')
if (rsRadio.checked===true) {
rsiFrame.src="SantaCruzRates.htm";
}
else {
rsiFrame.src="DelNorteRates.htm";
}
}
BODY表格部分(评论显示在这里):
<input type="radio" value="SC" checked name="County" onclick="SwapInlineFrameSource()">
Santa Cruz
<input type="radio" value="DN" name="County" onclick="SwapInlineFrameSource()" >
Del Norte
我错过了什么? (实例:http://www.raintrees.com/rates.html)
谢谢!
先生
答案 0 :(得分:7)
您正在使用getElementByID,但未指定输入的ID。也许考虑一下这个:
function SwapInlineFrameSource(rdoButton)
{
rsiFrame = document.getElementById("RatesFrame");
rsiFrame.src = rdoButton.value;
}
<input type="radio" value="SantaCruzRates.htm" checked="checked" name="County" onClick="SwapInlineFrameSource(this);">Santa Cruz</input>
<input type="radio" value="DelNorteRates.htm" name="County" onClick="SwapInlineFrameSource(this);">Del Norte</input>
答案 1 :(得分:2)
你的代码错了....
var rsRadio, rsiFrame;
rsRadio=document.getElementById('County');
rsiFrame=document.getElementById('RatesFrame')
if (rsRadio.checked===true) {
我认为你的意思是getElementsByName而不是ID,因为这些单选按钮上没有县的ID。
实际上你需要确定选中了哪个单选按钮,这样就可以了(假设只有2个选项)
if(document.getElementsByName()[0].checked){
// show Santa Cruz Rates
}else{
// show other rates
}
答案 2 :(得分:0)
我不相信getElementById适用于firefox中的帧。我一直使用帧[“frameID”],这似乎更一致。