簡體   English   中英

如何將文本框中的文本放入通過 AJAX 'POST' 請求發送的變量中?

[英]How do I get the text from a textbox into a variable that is being sent through an AJAX 'POST' request?

我希望將“txtDATE”文本框中的文本放入變量 press_date。 當前的 AJAX 帖子運行良好。 (除了它是 static 並且我想要變量)。 我整天都在尋找答案並嘗試一切。 任何幫助表示贊賞。

<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);
 }
});

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 press_date = "'2020-08-01'";

您應該能夠使用:

 var press_date = "'" + $('#txtDATE').val() + "'";

我還會考慮為文本框放置一個 ClientIDMode="Static" 屬性,因為這會阻止服務器端代碼由服務器端系統重新命名 txtDATE 文本框。 這將確保 jquery 選擇器 $('#txtDATE') 將能夠引用未更改的控件 ID。 (在本例中,id = "txtDATE")。

我已經弄清楚了,它現在可以正常工作了。

var press_date = "'" + $('#<%= txtDATE.ClientID %>').val() + "'";

我想我在沮喪中忘記了解釋它是帶有 vb 后端的 asp 代碼。 感謝您的回復和幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM