使用javascript从html文本框中获取价值

时间:2014-01-27 10:43:48

标签: c# javascript asp.net-mvc

我已经创建了一个ASP.NET MVC应用程序,并希望在发送回控制器之前在文本框中使用值做一些“东西”。

所以我有一个表格中的文本框:

using (Html.BeginForm("HandleForm","Home")
{
    <p>Enter Value<p>
    @Html.TextBox("amount")
    <input type="submit" value="Submit" />
}
通常我会在JS中使用这样的东西:

var value = document.getElementById(ID).value;

那么我如何使用HTML Helpers做到这一点?是否可以给这个文本框一个id?

3 个答案:

答案 0 :(得分:1)

您无法获得HTML帮助程序,但这可能会对您有所帮助。

var value = document.getElementById('@Html.Id("amount")').value;

使用@Html.Id() Html Helper,您将获得该特定viewData的ID

答案 1 :(得分:0)

当然,您可以将IdClass和各种Html attributes分配给任何Html Helper,因为这些帮助程序会被解析为普通html标记。

E.g

@Html.TextBoxFor(m=>m.amount,new { id = "txtAmount", class="anyClass" })

or

@Html.TextBox(m=>m.amount,null,new { id = "txtAmount", class="anyClass" })

将其解析为

<input id="txtAmount" name="amount" class="anyClass" type="text" />

然后在javascript中,您可以访问此控件的值

  var value = document.getElementById("txtAmount").value;

答案 2 :(得分:0)

我们可以在mvc

中使用html助手时指定其他html属性

http://msdn.microsoft.com/en-us/library/dd493049(v=vs.118).aspx

html属性被指定为简单对象 例如

new { id = "text1", maxlength="20", size="15" }

方法签名

public static MvcHtmlString TextBox(
    this HtmlHelper htmlHelper,
    string name,
    Object value,
    Object htmlAttributes
)