1

我已经使用 mvc4 开发了一个 Web 应用程序。

在这种情况下,我需要使用 javascript 获取文本框值(实际上是在文本框中输入的文本)。

这是我正在使用的代码

    @model PortalModels.WholeSaleModelUser
    @using (Html.BeginForm("uploadFile", "WholeSaleTrade", FormMethod.Post, new { enctype = "multipart/form-data" }))
    {
        @Html.ValidationSummary(true)

    <fieldset>
        <legend>WholeSaleModelUser</legend>
        <table>
            <tr>
                <td>
                    <div class="editor-label">
                        @Html.LabelFor(model => model.Name)
                    </div>
                </td>
                <td>
                    <div class="editor-field">
                        @Html.TextBoxFor(model => model.Name)
                        @Html.ValidationMessageFor(model => model.Name)
                    </div>
                </td>
            </tr>
</table>
        <div id="partial">
            <table>
                <tr>
                    <td>
                        <img id="blah" src="../../Images/no_image.jpg" alt="your image" height="200px" width="170px" />
                    </td>
                </tr>
</table>

    <script type="text/javascript">
        function loadUserImage() {
            var userImg = document.getElementById("blah");
            var imgNm = $("#Name").value;
            userImg.src = "D:/FEISPortal/FortalApplication/Img/" + imgNm + ".png";
            alert(imgNm);
            alert(userImg.src);
        }
    </script>

在这种情况下,警报给出的值为“未定义”,如果执行以下修改警报,则什么也没有。

var imgNm = document.getElementById("Name").value; 

为了

var imgNm = $("#Name").value;

如何获取文本框中输入的文本?

4

3 回答 3

5

您应该为此使用val()函数:

var imgNm = $("#Name").val();
于 2013-06-27T06:46:04.093 回答
2

如果您使用的是本机 javascript,则应使用此:

var userImgNameElement = document.getElementById("userImgNameId");
var userImgNameValue = userImgNameElement.getAttribute("value");

使用“onChanged”事件:

addEvent(document.getElementById('userImgNameId'), 'change', function(event) {
    var userImgNameValue = event.target.getAttribute("value");
});
于 2013-06-27T07:13:14.200 回答
1

在一个input元素中,可以在value该元素的属性中找到 的值。因此可以通过 检索它document.getElementById('idOfElement').value

在一个textarea元素中,它的值介于开始标签和结束标签之间。因此,该value属性是空的。在原始 javascript 中,您可以使用document.getElementById('idOfElement').innerText.

但是,如果您使用的是 jQuery,那么 Ufuk 的解决方案.val()会更容易使用。

于 2013-06-27T07:04:07.353 回答