Javascript onload没有在IE中触发

时间:2014-02-05 09:55:52

标签: javascript html asp.net

我正在创建一个有两个div标签和两个单选按钮的网站。 div将根据所选的单选按钮显示。在页面加载时,我从主页面传递单选按钮的值,因此我显示div。它适用于chrome和firefox,但在IE中显示出问题。我正在使用IE 11.我没有尝试过其他版本的IE。 我的代码如下:

    <asp:RadioButton ID="mail_stat" Text="Mailwise Statistics" runat="server" GroupName="stat_select" onclick="ch(1)" ClientIDMode="Static" />
    <asp:RadioButton ID="aggegrate_stat" Text="Aggegrate Statistics" runat="server" GroupName="stat_select" onclick="ch(2)" ClientIDMode="Static" />

    <div id="first">
    <table border="0">
        <tr>
            <td>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                <asp:Label ID="lbl_pro_id" runat="server" Text="Promotion Id"></asp:Label>&nbsp;</td>
            <td>
                &nbsp;&nbsp;&nbsp;
                <asp:TextBox ID="txt_pro_id" runat="server" Width="101px"></asp:TextBox></td>
        </tr>
        <tr>
            <td>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                <asp:Label ID="lbl_sub" runat="server" Text="Subject"></asp:Label></td>
            <td>
                &nbsp;&nbsp;&nbsp;
                <asp:TextBox ID="txt_sub" runat="server" Width="301px" Height="16px"></asp:TextBox></td>
        </tr>
    </table>
</div>

    <div id="second">
    <table border="0">
        <tr>
            <td>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                <asp:TextBox ID="txtStartDate" runat="server" required="true" placeholder="Start Date"></asp:TextBox></td>
            <td>
                <asp:TextBox ID="txtEndDate" runat="server" required="true" placeholder="End Date"></asp:TextBox></td>
        </tr>
    </table>
</div>

我的java脚本如下:

    <%--Javascript for radiobuttion on load--%>              
<script type="text/javascript">
    onload = function () {
        if (mail_stat.checked == true)
        {
            ch(1);
        }
        else if (aggegrate_stat.checked == true)
        {
            ch(2);
        }
    }
</script> 

<%--Javascript for radiobuttion--%>
 <script type="text/javascript">
     $('#first').hide();
     $('#second').hide();
     $('stat2').hide();
     function ch(id) {
         if (id == '1') {
             $('#first').show();
             $('#second').hide();
             $('#stat2').hide();
         }
         else if (id == '2') {
             $('#first').hide();
             $('#second').show();
             $('#stat2').show();
         }
     }
 </script> 

请帮忙。

2 个答案:

答案 0 :(得分:1)

onload未在正确的范围内定义。尝试:

document.onload = function () {

答案 1 :(得分:0)

我没有在javascript中存储变量中的单选按钮。 应该是这样的:

    <script type="text/javascript">
    var mail=document.getElementById('mail_stat');
    var aggegrate=document.getElementById('aggegrate_stat');
onload = function () {
    if (mail.checked == true)
    {
        ch(1);
    }
    else if (aggegrate.checked == true)
    {
        ch(2);
    }
}