jQuery를 사용하여 액세스하려고하는 asp : textbox가 포함 된 마스터 페이지에 문제가 있습니다. 나는 이것에 관해 많은 sof 쓰레드를 읽었고, 내가 본 모든 다른 접근법을 시도했지만, 결과에 관계없이 최종 결과는 Undefined로 끝난다.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로 평가된다는 것입니다. 나는 masterpage가 ID에 접두사를 추가 할 것이므로 ct100_osxinputfrom으로 끝나는 페이지가 실행될 때 ID를 사용하려고 시도했음을 이해하고 $ ("# < % = osxinputfrom.ClientID %> "), 어쨌든 jQuery ajax 메소드에서 호출 된 메소드에서 Undefined로 끝납니다. Test3 및 Test4로 하드 코드 된 ajay 함수의 세 번째 및 네 번째 매개 변수는 C# 백엔드 메서드에서 제대로 작동합니다.
제 질문은 간단합니다. jQuery 선택기를 다시 작성하여 텍스트 상자에서 올바른 값을 가져올 수 있습니까? 당신은 속성을 사용한다
어떤 ASP.NET 버전을 사용하고 있습니까? 4.0에서는'ClientIDMode' 속성을 사용하여 런타임에 컨트롤을 쉽게 찾을 수 있습니다. –