如何在页面加载方法中调用 Javascript 函数

How to call a Javascript function within page load method?

本文关键字:调用 Javascript 函数 方法 加载      更新时间:2023-09-26

我正在使用货币转换器Web服务,并且编写了一个Javascript来显示按钮单击的结果。我希望 javascript 在页面加载时触发。我试过这样做

protected void Page_Load(object sender, EventArgs e)
{
    ScriptManager.RegisterClientScriptBlock(Page, this.GetType(), "Javascript", "function(data);", true);
}

但该函数仍然不会触发。这是我正在使用的 JS。

<script type="text/javascript">
    $(function () {
        $('#btnConvert').click(function () {
            var amount = $('#txtAmount').val();
            var from = $('#ddlfrom').val();
            var to = $('#ddlto').val();
            $.ajax({ type: "POST",
                url: "WebService.asmx/CurrencyConversion",
                data: "{amount:" + amount + ",fromCurrency:'" + from + "',toCurrency:'" + to + "'}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (data) {
                    var dot = data.d.indexOf(".");
                    var eg = data.d.substring(0, dot + 2);
                    var eg1 =data.d.substring(11, 50);
                                        $('#currency_converter_result').html(eg + eg1);
              }
            });
        });
    });
</script>

如果我理解您的问题,您希望单击事件在加载时触发。 您不需要页面加载部分。 只需将click()添加到绑定中即可。

<script type="text/javascript">
    $(function () {
        $('#btnConvert').click(function () {
            var amount = $('#txtAmount').val();
            var from = $('#ddlfrom').val();
            var to = $('#ddlto').val();
            $.ajax({ type: "POST",
                url: "WebService.asmx/CurrencyConversion",
                data: "{amount:" + amount + ",fromCurrency:'" + from + "',toCurrency:'" + to + "'}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (data) {
                    var dot = data.d.indexOf(".");
                    var eg = data.d.substring(0, dot + 2);
                    var eg1 =data.d.substring(11, 50);
                                        $('#currency_converter_result').html(eg + eg1);
              }
            });
        }).click();
    });
</script>

应该可以工作,但您正在发送 JS function();这完全没有任何意义。

$(function(){});只是$(document).ready(function(){});的别名

你不需要在代码中做任何事情

$(function () { });

相当于

$( document ).ready(function() { });

因此,加载页面时,$(function() { });中的任何内容都会被自动调用

  $( document ).ready(function() {
 $('#btnConvert').click(function () {
// paste the other code
}

);});

你不需要使用任何来自代码隐藏的 js 调用