【问题标题】:jquery dialog submit button eventjquery 对话框提交按钮事件
【发布时间】:2012-11-14 14:33:39
【问题描述】:

我有一个 jquery 对话框,我想要的是通过“提交”按钮来调用 WCF 方法。但它似乎不起作用。

代码片段 1:

       $("#generatePinsDialog").dialog({
          autoOpen: false,
          modal: true,
          width: 400,
          buttons: [
              { text: 'Submit', click: GeneratePINs }
           ]});

代码片段 2:

    function GeneratePINs()
    {
        var x= 0; y= 0;
        var c = $("#newInmateCount").val(); // get a value from a textbox
        var e = $("selected",this).val();  // get a value from a drop down menu
        if (e == 0) {
            y= 1;
        }
        else {
            x= 1
        }

      $.getJSON('/iServices/iService.svc/' + c + '/' + y+ '/' + x, function (response) {
    });
    $(this).dialog('close'); // Close it

}

在我的 WCF 方法代码中,我设置了一个断点。但是根本没有达到。

感谢您的帮助。

【问题讨论】:

  • 您在 iService.svc/ 之后缺少一个 ' 。是错字吗?

标签: jquery json wcf jquery-ui


【解决方案1】:

$(this).dialog('close') 更改为$("#generatePinsDialog").dialog('close')

我不相信在使用命名函数时通常会传递对话上下文

【讨论】:

  • 我试过并注释掉除关闭部分之外的所有代码。它没有关闭。
  • 是否添加了 console.log 或 alert() 来查看是否调用了 GeneratePINs?
  • 我添加了 alert("Hello world") 然后它被调用了。
  • 我制作了一个 JSFiddle here,它显示了在外部函数中关闭的对话框。
  • 你试过'$(this)'吗?也许代码中还有其他问题,我正在研究它。
【解决方案2】:

您确定您的 .svc 请求格式正确吗?尝试将 .svc url 粘贴到浏览器中,以确保您正确地形成了 url。此外,如果您使用 $.getJSON,请确保您的 .svc 设置正确以允许 GET 而不仅仅是 POST

【讨论】:

  • 我使用了 [OperationContract] [WebGet(UriTemplate = "myurl blah blah", BodyStyle = WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Json)]
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多