Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从javascript/jquery读取文本框值_Javascript_Jquery_Asp.net - Fatal编程技术网

从javascript/jquery读取文本框值

从javascript/jquery读取文本框值,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我创建了一个以气泡为标记的谷歌地图。我在代码隐藏中创建了一个数组,并用这些值设置了一个文本框。文本框中填充了正确的值,但我无法从jquery/javascript中读取这些值 使用这些语句时: var markers = $('#txtMarkers').val(); var markers = document.getElementById('<%=txtMarkers.ClientID%>') 当我使用这个时: var markers = docum

我创建了一个以气泡为标记的谷歌地图。我在代码隐藏中创建了一个数组,并用这些值设置了一个文本框。文本框中填充了正确的值,但我无法从jquery/javascript中读取这些值

使用这些语句时:

    var markers = $('#txtMarkers').val();
     var markers =  document.getElementById('<%=txtMarkers.ClientID%>')
当我使用这个时:

    var markers = document.getElementById('<%=txtMarkers.ClientID%>').value;
但是,文本框正在被填充。这是文本框中填充的内容(添加手动值以查看文本框中填充的内容):

手动添加这些值将加载地图和标记,但它似乎无法从文本框中读取值。我做错什么了吗


更多信息 当我将$(document).ready(函数(){})放入时;在页面上,我得到一个错误

    0x800a1391 - JavaScript runtime error: 'initialize' is undefined
因此,我将body标记中的onload=“initialize()”取出,从而导致此错误:

    0x800a138f - JavaScript runtime error: Unable to get property 'lat' of undefined or null reference
在这段代码中,由于没有信息,因此在加载之前必须运行方法(来自db的信息):


您可能会得到null或未定义的值,因为在加载DOM元素之前,客户端脚本正在请求该元素的值

演示应用程序:

MyForm.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MyForm.aspx.cs" Inherits="_24733063.MyForm" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <script src="Scripts/jquery-1.10.2.js"></script>
        <script type="text/javascript">
            $(document).ready(function () {
                alert($("#dataTextBox").val());
            });
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
            <div>
                <asp:TextBox ID="dataTextBox" runat="server" />
            </div>
        </form>
    </body>
</html>

$('#txtMarkers')
页面中是否有此元素?请尝试将jQuery代码放入$(document).ready(function(){})中;功能。'嗨,是的,元素可用。。在我将textbox从TextBox1重命名为TXTMakers之前,我保存了错误消息,因此只是复制了与更改textbox名称之前相同的错误消息。。。我已经在上面更新了。。。。当我使用documentready函数时,我得到以下错误:0x800a1391-JavaScript运行时错误:“initialize”未定义(initialize in my body tag:?)?
    0x800a1391 - JavaScript runtime error: 'initialize' is undefined
    0x800a138f - JavaScript runtime error: Unable to get property 'lat' of undefined or null reference
     var mapOptions = {     
              center: new google.maps.LatLng(markers[0].lat, markers[0].lng), 
              zoom: 8,
              mapTypeControl: true,
              panControl: true,
                zoomControl: true,
              mapTypeId: google.maps.MapTypeId.ROADMAP         
          };
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MyForm.aspx.cs" Inherits="_24733063.MyForm" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <script src="Scripts/jquery-1.10.2.js"></script>
        <script type="text/javascript">
            $(document).ready(function () {
                alert($("#dataTextBox").val());
            });
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
            <div>
                <asp:TextBox ID="dataTextBox" runat="server" />
            </div>
        </form>
    </body>
</html>
protected void Page_Load(object sender, EventArgs e)
{
    dataTextBox.Text = "some text values";
}