javascript - MVC2 - 试图将文本框的值拉入 Javascript

标签 javascript asp.net-mvc-2

我正在尝试使用 javascript 执行一些实时电话号码验证。我不需要验证方面的帮助;我只需要帮助将文本框中的值提取到 Javascript 变量中。

但是,在页面加载时,我收到一条错误消息:“当前上下文中不存在名称‘txtPhone’。”

这里是我在 MVC2 中声明文本框的地方:

<div class="editor-field">
    <%: Html.TextBoxFor(model => model.phone, new { id = "txtPhone", onblur = "checkPhoneNumber();" })%>
    <%: Html.ValidationMessageFor(model => model.phone) %>
</div>

在同一页面上,我有这个 javascript:

function checkPhoneNumber() {
    var phone = $("#<%= txtPhone.ClientID %>").value;
}

如果我在 Javascript 中注释掉 txtPhone 引用,页面将会加载,并且我可以看到 ID 已正确分配给文本框,如下所示(来自查看源代码):

<div class="editor-field">
    <input id="txtPhone" name="phone" onblur="checkPhoneNumber();" type="text" value="" />

最佳答案

您正在尝试使用 MVC 不使用的 ASP.Net 服务器控件。
您只需要 ClientID,因为 ASP.Net 服务器端控件在其生成的 HTML 中发出唯一 ID。

ASP.Net MVC 不创建任何服务器端控件; TextBoxFor 将不再使用您按原样提供的 ID。

关于javascript - MVC2 - 试图将文本框的值拉入 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7017982/

相关文章:

asp.net-mvc - 主机名中没有尾部斜杠,HttpResponse.RemoveOutputCacheItem 不起作用

asp.net-mvc-2 - 在自定义模型绑定(bind)器中设置 ModelState 值

javascript - Lodash重新分配对象数组以构建树

asp.net - 使用 ASP.NET MVC 进行母版页中的消息控制

c# - asp.net mvc 图像路径和虚拟目录

asp.net-mvc-2 - EF4 EntityException - 底层提供者在打开时失败

javascript - CSS 'translate(0px, 0px)' 元素样式的正则表达式匹配值

javascript - Javascript 中自动执行的匿名函数

javascript - Bootstrap - 无法让我的 Accordion 在默认情况下保持关闭状态?

javascript - 在具有 stopPropagation 和/或 preventDefault 的元素上应用 jQuery