16

重複の可能性:
ページの読み込み後に実行される Javascript

私はasp.net 4.0にアプリケーションを持っています

クライアント ゾーン オフセットをテキスト ボックスに表示する JavaScript があります:- `

<script type="text/javascript">
    function GetTimeZoneOffset() {
        var d = new Date()
        var gmtOffSet = -d.getTimezoneOffset();
        var gmtHours = Math.floor(gmtOffSet / 60);
        var GMTMin = Math.abs(gmtOffSet % 60);
        var dot = ".";
        var retVal = "" + gmtHours + dot + GMTMin;
        document.getElementById('<%= offSet.ClientID%>').value = retVal;
    }

</script>

`

HTML マークアップ

<asp:HiddenField ID="clientDateTime" runat="server" />
<asp:HiddenField ID="offSet" runat="server" />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></body>

テキストボックスにオフセットを表示できるように、ページの読み込み時にこの関数を呼び出すにはどうすればよいですか?

4

4 に答える 4

28

コード ビハインドで JavaScript 関数を呼び出すPage_Load

ClientScript.RegisterStartupScript(GetType(), "Javascript", "javascript:FUNCTIONNAME(); ", true);

そこにある場合はUpdatePanel、このようにしてみてください

ScriptManager.RegisterStartupScript(GetType(), "Javascript", "javascript:FUNCTIONNAME(); ", true);
于 2012-12-29T05:45:21.850 に答える
8
<html>
<head>
<script type="text/javascript">
function GetTimeZoneOffset() {
    var d = new Date()
    var gmtOffSet = -d.getTimezoneOffset();
    var gmtHours = Math.floor(gmtOffSet / 60);
    var GMTMin = Math.abs(gmtOffSet % 60);
    var dot = ".";
    var retVal = "" + gmtHours + dot + GMTMin;
    document.getElementById('<%= offSet.ClientID%>').value = retVal;
}

</script>
</head>
<body onload="GetTimeZoneOffset()">
    <asp:HiddenField ID="clientDateTime" runat="server" />
    <asp:HiddenField ID="offSet" runat="server" />
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</body>
</html>

ここで注意すべき重要な点は、body に属性があることですonload。関数名を付けるだけで、その関数はページの読み込み時に呼び出されます。


または、次のようにページ読み込みイベントで関数を呼び出すこともできます

<html>
<head>
<script type="text/javascript">

window.onload = load();

function load() {
    var d = new Date()
    var gmtOffSet = -d.getTimezoneOffset();
    var gmtHours = Math.floor(gmtOffSet / 60);
    var GMTMin = Math.abs(gmtOffSet % 60);
    var dot = ".";
    var retVal = "" + gmtHours + dot + GMTMin;
    document.getElementById('<%= offSet.ClientID%>').value = retVal;
}

</script>
</head>
<body >
    <asp:HiddenField ID="clientDateTime" runat="server" />
    <asp:HiddenField ID="offSet" runat="server" />
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></body>
</body>
</html>
于 2012-12-29T05:42:03.587 に答える
3

次の行をスクリプト終了タグの前に置き、メモリから書き込みます。

window.onload  = GetTimeZoneOffset;

問題は、ページロード時にjavascript関数を呼び出す方法だと思います

于 2012-12-29T05:43:49.293 に答える
0

内でコードを使用する

  <script type="text/javascript">
     window.onload = function() {
        var d = new Date()
        var gmtOffSet = -d.getTimezoneOffset();
        var gmtHours = Math.floor(gmtOffSet / 60);
        var GMTMin = Math.abs(gmtOffSet % 60);
        var dot = ".";
        var retVal = "" + gmtHours + dot + GMTMin;
        document.getElementById('<%= offSet.ClientID%>').value = retVal;
      }
  </script>
于 2012-12-29T05:47:48.870 に答える