无法获取文本框的值并将i放入JavaScript中的变量中

时间:2015-02-16 18:15:07

标签: javascript textbox

我在Page-load中设置文本框的值,并将其分配给java脚本中的变量。但这条线不会执行。

        y = document.getElementByID("<%= TextBox1.ClientID %>").value;

当我在aspx页面中设置文本框的值时,它不会工作。

    protected void Page_Load(object sender, EventArgs e) {
 TextBox1.Text = "14";
 } 

 <asp:TextBox ID="TextBox1" runat="server" Text="14"></asp:TextBox>

他们都没有工作                         --------这是脚本-----

     <script type="text/javascript">
                                var map;
                                var y;
                    y = document.getElementByID("<%= TextBox1.ClientID %>").value;
                    y = parseInt(y);

                require(["esri/map", "dojo/domReady!"], function (Map) {

                    esriConfig.defaults.map.panDuration = 1;   

                        var map = new Map("map", {
                        center: [-118, y],
                        zoom: 15,
                        basemap: "satellite"

                    });
                });
            </script>
我在做错了什么?当我将y分配给一个数字时,一切正常,这是从asp控件获取值的一个好习惯吗?

1 个答案:

答案 0 :(得分:1)

"<%= TextBox1.ClientID %>"

这不会像你想象的那样得到评估,它只是将它作为文字字符串发送给客户端。相反,你应该这样做:

y = document.getElementByID("'" + <%= TextBox1.ClientID %> "'").value;

即便如此,这是非常难看的代码。由于文本框似乎不是动态生成的控件,因此您应将其ClientIDMode属性设置为StaticPredictable。然后在您的javascript中对ID进行硬编码。