Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript或JQuery清除Html.TextBoxFor的文本_Javascript_Jquery_Asp.net Mvc 3_Razor - Fatal编程技术网

使用Javascript或JQuery清除Html.TextBoxFor的文本

使用Javascript或JQuery清除Html.TextBoxFor的文本,javascript,jquery,asp.net-mvc-3,razor,Javascript,Jquery,Asp.net Mvc 3,Razor,我似乎不知道如何清除razor文本框中的文本 我试过这个: @Html.TextBoxFor(m => m.Field) $(document).ready(function () { $(".link").click(function () { $("#Field").value = ""; return false; }); }); 没用 使用j

我似乎不知道如何清除razor文本框中的文本

我试过这个:

@Html.TextBoxFor(m => m.Field)


    $(document).ready(function () {
        $(".link").click(function () {                
            $("#Field").value = "";
            return false;
        });    
    });

没用

使用jQuery设置值的正确方法是使用
val
并传递一个值。因此,要清除它,请使用以下命令:

$("#Field").val("")
查看jQuery API中的
val

如果您想使用基本Javascript,可以使用
.value=”“
,但由于您要使用jQuery选择元素,因此必须使用jQuery方法,如
val

不过你有几个选择。对于基本Javascript,这同样非常简单:

document.getElementById("Field").value = "";
如果仍然希望使用jQuery,但使用
value
,则需要获取DOM元素,如:

$("#Field")[0].value = "";
// or
$("#Field").get(0).value = "";
如果您使用的是jQuery,那么最好还是坚持使用
val()
。这样做的好处是,如果找不到元素,调用
.val(“”
)不会轰炸程序。如果您使用我提到的任何其他方法,如果元素不存在,它们将爆炸。所以你真正想要什么取决于你。在使用
get(0)
[0]
之前,您可以随时检查
$(“#字段”).length
是否大于0,但这有点过分了


另一个可能的问题是元素的
id
可能不是“字段”。我忘记了MVC是如何生成实际的HTML的,但这取决于您如何使用Firebug或开发人员工具来调查并查看
id
实际上是什么。然后,您可能必须将其替换为“Field”。

但是,如果您真的想使用普通JavaScript设置值:
$(“#Field”).get(0.value=”“--但这有点傻。@andytuba不确定那个评论是在我的编辑之前还是之后出现的,但我确实包含了那个评论。但我绝对同意。真的没有必要那样做。它要么是纯香草的,要么就是在编辑之前加入的所有jquery。当我看到“此答案已被编辑”的通知并弹出相同的代码时,我很高兴。