javascript - 从文本框中提取用户输入并将其存储在javascript中的变量中

标签 javascript asp.net

// text Box
        &nbsp;&nbsp;<asp:TextBox ID="TextBox3"  runat="server" BackColor="Silver" 
            BorderColor="Silver" ontextchanged="TextBox3_TextChanged" 
            style="margin-left: 6px" Width="154px"></asp:TextBox>

// Submit button
        &nbsp;<asp:Button ID="Button6" runat="server" BackColor="Silver" 
            onClientclick='store_memID()' style="margin-left: 20px" Text="Submit" 
            Width="102px" Font-Bold="True" Height="28px" />


    <script type = "text/javascript">
        // Function to caputure client-input- Member_ID.
        function store_memID() {

            var mem_ID = document.getElementById('TextBox3').value;


            return confirm('TimeLine is displayed for: ' + mem_ID);
        }

    </script>

当我运行代码并在文本框中输入一个值,然后按提交按钮时:- “Microsoft JScript 运行时错误:无法获取属性“value”的值:对象为 null 或未定义”。



否则,如果我删除“.value”:-

<script type = "text/javascript">
    // Function to caputure client-input- Member_ID.
    function store_memID() {

        var mem_ID = document.getElementById('TextBox3');


        return confirm('TimeLine is displayed for: ' + mem_ID);
    }

</script>

然后运行程序,在文本框中输入值并按提交,然后我得到:-

“时间线显示为:空”

我一直在研究解决这个问题。不确定出了什么问题...

编辑(修复):- 我的文本框的服务器端 ID 是“TextBox3”,但这不一定与客户端 ID 匹配。 获取客户端 ID:- '<%=TextBox3.ClientID%>'

最佳答案

自从我编写 asp 表单以来已经有一段时间了,但客户端(在您的浏览器中)的 id 很可能不是您想象的那样。在我看来,这是/曾经是 Web 表单的主要陷阱之一(这可能在 4.0 版本中变得更简单,您必须检查一下)。您可以使用 css 类(并使用 jQuery 或类似的方法来查找您的元素)或将客户端 id 注入(inject)到 java 脚本中,例如;

<script type = "text/javascript">
    // Function to caputure client-input- Member_ID.
    function store_memID() {
        var mem_ID = document.getElementById('<%=TextBox3.ClientID%>').value;
        return confirm('TimeLine is displayed for: ' + mem_ID);
    }
</script>

更新:修复了评论中指出的 ClientID 中的大小写错误

关于javascript - 从文本框中提取用户输入并将其存储在javascript中的变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14573039/

相关文章:

javascript - 如何取回被过滤的数据(ReactContextAPI)

javascript - Jquery.html 显示文字代码而不是在 application.js 中呈现 html

c# - 如何从 autofac 容器解析依赖项(在嵌套 LifetimeScope 中注册)

javascript - 无法从代码隐藏设置 div 样式

javascript - 如何预加载悬停状态的图像以使背景立即更改,而不是几秒钟后更改

javascript - 最后单击的图像周围的边框

c# - 该类型定义在一个未被引用的程序集中,如何查找原因?

c# - 如何从代码隐藏属性中获取样式属性的值?

javascript - Breeze/knockout 下拉菜单导致实体被修改

javascript - Kendo ui 网格创建聚合函数