我一直在搞乱这段代码似乎无法做到正确,并且没有找到任何有关这项工作的好信息。
我需要清除搜索文本框并重置视图。我想javascript清除文本框并提交表单将是完成这项工作的方法,但似乎无法使其工作。我的入门代码如下
按钮代码:
@using (Html.BeginForm())
{
<div>
@Html.TextBox("SearchString")
<input type="submit" value="Search" />
<input type="submit" id = "Reset" value ="Reset"/>
</div>
}
JAVASCRIPT:
<script>
$("#Reset").click(function (event) {
$("#Reset").val("");
});
</script>
我会假设我需要在调用重置文本框后在javascript中执行herf。我是在正确的轨道上还是有一种更简单的方法来完成这项工作。
答案 0 :(得分:1)
您只需要其中一个
重置文字
对于重置按钮,请尝试以下
<input type="reset" id = "Reset" value ="Reset"/>
请注意type=reset
未提交
对于JavaScript,您需要将Id分配给文本框并使用它来清空文本。 将文本框代码更改为
@Html.TextBox("SearchString",null, new {@id = "txtSearch"})
和JavaScript到
<script>
$("#Reset").click(function (event) {
$("#txtSearch").val("");
});
</script>
BTW,你正在使用jQuery代码,但你没有在Tag中提到过jQuery。
答案 1 :(得分:0)
好的,在UmairP和this post的推动下,这是最终的解决方案:
表单提交按钮
@using (Html.BeginForm())
{
<div>
@Html.TextBox("SearchString")
<input type="submit" id = "Search" value ="Search" />
<input type="submit" name = "Reset" value ="Reset"/>
</div>
}
控制器代码:
var restButton = Request.Params.AllKeys.FirstOrDefault(key => key.StartsWith("Reset"));
if (!String.IsNullOrEmpty(restButton))
{
SearchString = "";
}
然后我可以像使用ModelState.Clear()一样正常运行我的其余代码来清除回发上的表单字段。