代码之家  ›  专栏  ›  技术社区  ›  morganpdx

重置提交按钮不工作,使用MVC 2

  •  3
  • morganpdx  · 技术社区  · 15 年前

    我在窗体调用中有两个按钮:

    <% using (Html.BeginForm()) {%>
    
        <input type="submit" value="Filter" />
        <input type="reset" value="Clear Filter" />
    

    相关字段:

            <td>
                <%:Html.TextBox("filterId", Model.IdFilter, new {style="width:100px"}) %>
            </td>
            <td>
                <%:Html.TextBox("filterTitle", Model.TitleFilter, new {style="width:500px"}) %>
            </td>
            <td>
                <%:Html.TextBox("filterStatus", Model.StatusFilter, new {style="width:100px"}) %>
            </td>
    

    第一个按钮调用表单操作。第二个按钮应:

    1. 清除表单而不是发布
    2. 重定向到其他操作

    不知道为什么我在这个问题上有这么多的麻烦,但似乎应该有一个非常简单的方法来做到这一点。然而,我遇到的所有解决方案似乎都太复杂了。

    我错过什么了吗?

    编辑:解决方案如下:

    将重置按钮更改为具有ID的普通Jane按钮:

    <input type="button" value="Clear Filter" id="clearFilter" />
    

    然后添加此脚本:

        $(function () {
            $("#clearFilter").click(function () {
                $(':input', '#form0')
                    .not(':button, :submit, :reset, :hidden')
                    .val('');
                $('#form0').submit();
            });
        })
    
    1 回复  |  直到 15 年前
        1
  •  0
  •   Jonathan Bates    15 年前

    您可能需要编写自定义脚本来获得所需的行为。毕竟,这是一个重置按钮,而不是一个清除按钮。

    此时,如果更改控件的值,然后单击“静止”按钮,则表单将返回到其原始状态,即模型呈现时的状态。