我想从列表框中更改iframe的来源。这是我的代码。
<iframe id="iframeID" frameborder="0" width="100%" height="300px"></iframe>
<asp:Button ID="btnView" runat="server" Text="Pop Up HTML Preview"
OnClientClick="ShowPopUp();" />
ShowPopUp = function() {
var x = document.getElementById('<%=ListBox1.ClientID %>');
var val = x.options[x.selectedIndex].Value;
document.getElementById("iframeID").src = val;
但是错误说我有一个未定义的iframe
怎么了?
请帮我。谢谢:))
答案 0 :(得分:0)
您可以使用jquery更改源代码:
$("#content").attr('src', 'http://your new source here');
因此,当列表框中的选定项目发生更改时,您可以调用此方法。
答案 1 :(得分:0)
使用value
,JavaScript区分大小写
var val = x.options[x.selectedIndex].value;
并更改OnClientClick
,如下所示
<asp:Button ID="btnView" runat="server" Text="Pop Up HTML Preview"
OnClientClick="ShowPopUp(); return false;" />
按钮点击事件向服务器发送完整的回发请求。所以你的Ifram在回发后会有默认的src值。这里你没有给出默认的src值。所以点击按钮后什么都没有。添加return false
按钮后,单击后不会回发。
答案 2 :(得分:0)
如果它没有从C#做任何事情,请创建一个普通按钮 - ASP倾向于为其控件的ID添加花哨的前缀(如ContentPlaceHolder1_btnView
),并且.ID
不能以这种方式访问它们。 1}}来自C#代码。因此,您可以通过浏览器的源代码检查器清除这些ID(如果您将它们移动到其他地方就可以更改),或者使用
<input type="button" ID="btnView" Value="Pop Up HTML Preview"
OnClick="ShowPopUp();" />
(相应地修改你的JS)