我在使用jquery访问包含asp:textbox的母版页时遇到问题。我已经阅读了很多关于这个的SOFThread,并尝试了我所看到的所有不同的方法,但是无论如何,最终结果都是未定义的。
这是母版页代码的相关部分:
<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()的计算结果是未定义的。我知道masterpage会在id中添加一些前缀,所以我尝试在运行时使用该页中的id,该id最终为ct100_osxinputfrom,我还尝试了在搜索时发现的其他一些Hind,如$(“<%=osxinputfrom.clientid%>”),但最终在jquery ajax方法any调用的方法中未定义。方式。Ajay函数的第三和第四个参数被硬编码为test3和test4,在C backend方法中很好。
所以我的问题很简单:如何重写jquery选择器以从文本框中获取正确的值?(在我使用母版页之前,顺便说一下,它工作得很好)
最好的问候
守护进程