jQuery选择器和MasterPage的问题

时间:2010-05-10 12:46:21

标签: c# jquery selector master-pages

我有一个包含asp:textbox的母版页的问题,我试图使用jQuery访问它。我已经阅读了很多有关此问题的软件,并尝试了我所见过的所有不同方法,但无论如何,最终结果都是未定义的。

这是MasterPage代码的相关部分:

<p><asp:Label ID="Label1" AssociatedControlID="osxinputfrom" runat="server">Navn</asp:Label><asp:TextBox CssClass="osxinputform" ID="osxinputfrom" runat="server"></asp:TextBox></p>

当我单击该按钮时,将运行以下jQuery .js文件中的代码:

show: function(d) {
      $('#osx-modal-content .osxsubmitbutton').click(function (e) {
        e.preventDefault();
        if (OSX.validate()){                    
          $('#osx-modal-data').fadeOut(200);
          d.container.animate(
            {height:80},
            500,
            function () {
              $('#osx-modal-data').html("<h2>Sender...</h2>").fadeIn(250, function () {
                $.ajax({
                  type: "POST",
                  url: "Default.aspx/GetDate",
                  data: "{'from':'" + $("#osxinputfrom").val() + "','mailaddress':'" + $("#osxinputmail").val() + "','header':'Test3','message':'Test4'}",
                  contentType: "application/json; charset=utf-8",
                  dataType: "json",
                  success: function(msg) {
                    $('#osx-modal-data').fadeOut(200, function () {
                      $('#osx-modal-data').html('<h2>Meldingen er sendt!</h2>');
                      $('#osx-modal-data').fadeIn(200);
                    });
                  },
                  error: function(msg){
                    $('#osx-modal-data').fadeOut(200, function () {
                      $('#osx-modal-data').html('<h2>Feil oppstod ved sending av melding!</h2>');
                      $('#osx-modal-data').fadeIn(200);
                    });
                  }
                });
              });  
            }
          );
        }
        else{
          $('#osxinputstatus').fadeOut(250, function () {
            $('#osxinputstatus').html('<p id="osxinputstatus">' + OSX.message + '</a>');
            $('#osxinputstatus').fadeIn(250);
          });
        }           
      });  
    },

所以这里的问题是$(“#osxinputfrom”)。val()被评估为Undefined。据我所知,母版页会为ID添加一些前缀,所以我尝试在运行时使用页面中的ID,结果为ct100_osxinputfrom,我还尝试了其他一些我在搜索时找到的hinds,如$(“#&lt; %= osxinputfrom.ClientID%&gt;“),但它最终在从jQuery ajax方法调用的方法中未定义。在C#后端方法中,作为Test3和Test4硬编码的ajay函数的第三个和第四个参数很好。

所以我的问题很简单:如何重写jQuery选择器以从文本框中获取正确的值? (在我使用母版页之前它的工作方式很好)

祝你好运 守护程序

2 个答案:

答案 0 :(得分:1)

它会慢一点,但为什么不尝试将css class =“bla”添加到标签中,然后使用$('.bla').val();获取?

答案 1 :(得分:0)

您应该使用属性以选择器

结束

Link

它将是$("id$='osxinputfrom'")

相关问题