猿问

如何将文本框中的文本放入通过 AJAX“POST”请求发送的变量中?

我想将“txtDATE”文本框中的文本放入变量 press_date 中。当前的 AJAX 帖子运行良好。(除了它是静态的,我想要变量)。我整天都在寻找答案并尝试一切。任何帮助表示赞赏。


<td>

     <asp:TextBox ID="txtDATE" runat="server" AutoPostBack="true" Width="75px" ></asp:TextBox>

</td>

var press = "'1000'";

var press_date = "'2020-08-01'";

$.ajax({

 type: "POST",

 url: "1000TIOT.aspx/GetChartData",

 data: "{ press: " + press +  ", press_date: " + press_date + " }",

 contentType: "application/json; charset=utf-8",

 dataType: "json",

 success: function (r) {

     var data1 = google.visualization.arrayToDataTable(r.d);

     var chart = new google.visualization.BarChart($("#chart")[0]);

     chart.draw(data1, options);

 },

 failure: function (r) {

     alert(r.d);

 },

 error: function (r) {

     alert(r.d);

 }

});


呼啦一阵风
浏览 152回答 3
3回答

幕布斯6054654

代替:&nbsp;&nbsp;&nbsp;var&nbsp;press_date&nbsp;=&nbsp;"'2020-08-01'";您应该能够使用:&nbsp;var&nbsp;press_date&nbsp;=&nbsp;"'"&nbsp;+&nbsp;$('#txtDATE').val()&nbsp;+&nbsp;"'";我还会考虑为文本框放置一个 ClientIDMode="Static" 属性,因为这会阻止服务器端代码通过服务器端系统重命名 txtDATE 文本框。这将确保 jquery 选择器 $('#txtDATE') 将能够引用未更改的控件 ID。(在本例中为 id = "txtDATE")。

米琪卡哇伊

runat="server"将导致生成的 id 与您期望的不同,因此如果您添加ClientIDMode="Static"id 将是 txtDate<asp:TextBox ID="txtDATE" ClientIDMode="Static" runat="server" AutoPostBack="true" Width="75px" ></asp:TextBox>然后你可以用var press_date = $('#txtDATE').val();您是否还使用自动回发进行日期验证或其他?如果不是,并且此输入仅在 AJAX 调用中使用,您可能只需将整个输入替换为基本 html 即<input type="text" id="txtDate">您还可以使用它<input type="date" id="txtDate">来获取浏览器对日期时间选择器的支持。

冉冉说

我已经弄清楚了,现在可以正常工作了。var&nbsp;press_date&nbsp;=&nbsp;"'"&nbsp;+&nbsp;$('#<%=&nbsp;txtDATE.ClientID&nbsp;%>').val()&nbsp;+&nbsp;"'";我想我在沮丧中忘记了解释它是带有 vb 后端的 asp 代码。感谢您的回复和协助。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答