Почему текстовые назначения текстовым полям в jquery не выполняются?
У меня есть готовая функция jQuery, которая пытается назначить текст трем ASP.NET текстовые поля из элементов localStorage. LocalStorage не является проблемой, так как окно предупреждения в функции Ready показывает текст для хранения, но показывает пустое поле для текстового поля. Мне нужно иметь возможность читать эти текстовые поля из кода за щелчком кнопки; но прежде чем я смогу это сделать, мне сначала нужно получить текст, который будет успешно назначен и отображен в текстовых полях.
Элементы localStorage успешно предоставляют текст, но после трех назначений текстовым полям (см. ниже) в поле предупреждения отображается только текст для элементов localStorage, но "неопределенный" для внутреннего текста текстового поля.
Что я уже пробовал:
Код ASPX
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <meta charset="utf-8" /> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <script src="Scripts/jquery-3.4.1.min.js"></script> <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?libraries=places&key=AIzaSyAZHGyzDFOABVoZPqxvLEpCrDTRiB8eymU"> </script> <script> $(document).ready(function () { $("#txtPlaceId").innerText = localStorage.getItem("Map_PlaceId"); $("#txtPlaceName").innerText = localStorage.getItem("Map_PlaceName"); $("#txtPlaceAddress").innerText = localStorage.getItem("Map_PlaceVicinity"); alert("Storage: " + localStorage.getItem("Map_PlaceId") + "\n" + "Textbox: " + $("#txtPlaceId").innerText); }); </script> <style> html, body, #map { height: 100%; margin: 0px; padding: 0px; } </style> </head> <body> <br /> <form id="form1" runat="server"> <div> <table class="style1"> <tr> <td>Place ID:</td> <td> <asp:TextBox ID="txtPlaceId" runat="server"></asp:TextBox> </td> </tr> <tr> <td>Place Name:</td> <td> <asp:TextBox ID="txtPlaceName" runat="server"></asp:TextBox> </td> </tr> <tr> <td>Place Address:</td> <td> <asp:TextBox ID="txtPlaceAddress" runat="server"></asp:TextBox> </td> </tr> </table> </div> <table> <tr> <td> <asp:Button ID="btnSend" runat="server" Text="Submit" OnClick="btnSend_Click" /> </td> <td> <asp:Button ID="btnAbort" runat="server" Text="Cancel" OnClick="btnAbort_Click" /> </td> </tr> </table> </form> </body> </html>
Peter_in_2780
Если АСП:текстовое поле переводится в HTML-элемент ввода, содержимое доступно в качестве .значение, не .через свойство innerText. Ваше предупреждение дает вам ключ к разгадке - внутренний текст не определен, а не нулевая строка.