Я делаю систему комментариев в реальном времени в Asp.net Webforms ajax jquery .... У меня есть ретранслятор, где у меня есть один текстовый блок и одна кнопка ... я хочу просто вставить через Ajax JQuery, но JQuery AJAX не обнаружил TextBox, который объявлен внутри управления Repeater ...Как получить текстовое поле репитера в jquery ajax
сценарий:
$(document).ready(function() {
$('#btnComment').click(function() {
$.ajax({
type: "POST",
url: "index.aspx/insertComment",
data: '{comtext: "' +txtComment.value + '"}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
alert("ok");
//$('#txtComment').val("");
}
});
});
});
</script>
, когда я отладки сценария я проблему с данными .. ..txtComment.value ... , но когда i tr y для TextBox вне ретранслятора: данные: '{comtext: "' + $ (" # <% = txtComment.ClientID%> ") [0] .value + '"}' , тогда он работает для меня, но не Findout TextBox внутри Repeater
Код Behind:
[WebMethod]
public static string insertComment(string comtext)
{
//Button btnComment = sender as Button;
//RepeaterItem item = btnComment.NamingContainer as RepeaterItem;
//TextBox txtComment = item.FindControl("txtComment") as TextBox;
//lblMsg.Text = txtComment.Text;
SqlConnection con = new SqlConnection("data source=RIO;initial catalog=SocialNetworkSite;integrated security=true");
SqlCommand cmd = new SqlCommand("insert into Comment (comtext) values ('" + comtext + "')", con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
return comtext;
}
пожалуйста ПОМОГИТЕ
Вы делаете это неправильно. Ваш WebMethod не может и не должен получать доступ к элементам управления со страницы. Чтобы ответить, почему ваш jQuery не может найти '# txtComment', вам нужно будет показать, как вы его создали. Скорее всего, идентификатор на стороне клиента не соответствует ожидаемому. – mason
это TextBox, который я хочу получить в скрипте, но не могу ... asp: TextBox> и я не очень хорошо знаю о jquery, но я думаю, что это можно сделать с помощью обхода ..... Я пробовал это ... var textBoxValue = $ (this) . .closest ("ДИВ") найти ("#") txtComment вал(). данные: '{comtext: "' + textBoxValue + '"}' но он показывает ..... textBoxValue = неопределенный ........ пожалуйста, помогите мне –
Heartlion
Как я уже сказал, посмотрите на ваш идентификатор вашего текстового поля на стороне клиента. Что yuou sert в разметке ASPX не обязательно то, что вы получаете на результирующей странице. – mason