0

当下面的行$("#classList").submit();被击中时,表单没有提交,JavaScript 只是继续。我错过了什么?我在页面上使用 JQuery mobile(这就是为什么表单上有一个data-ajax="false"属性,以防止 Ajax 提交表单。

<script>
    $(document).ready(function () {
        $("#filter").on("click", function () {
            if ($("#filter").val() == 'DONE') {
                $("#classList").submit();
            }
            $('#filterpanel').toggle();
            $("#filter").val(function (i, text) { return text == 'FILTER' ? 'DONE' : 'FILTER';});
       });
    });
</script>
<form id="classList" runat="server" data-ajax="false">
    <div class="search_field2">
        <input id="address" type="text" name="address" class="input12" runat="server" clientidmode="Static" data-role="none" />
        <span>
            <input name="submit" type="submit" value="" class="retina-sprite" data-role="none" /></span>
    </div>
    <div class="filter_box">
        <input id="filter" name="filter" type="button" value="FILTER" class="filter" data-role="none" />
    </div>
...
</form>
4

1 回答 1

2

这是因为您有一个带有 name 的输入元素submit,它会覆盖表单提交方法。将提交按钮名称从提交更改为其他名称,它应该可以工作。

<form id="classList" runat="server" data-ajax="false">
    <div class="search_field2">
        <input id="address" type="text" name="address" class="input12" runat="server" clientidmode="Static" data-role="none" />
        <span>
            <input name="submits" type="submit" value="" class="retina-sprite" data-role="none" /></span>
    </div>
    <div class="filter_box">
        <input id="filter" name="filter" type="button" value="FILTER" class="filter" data-role="none" />
    </div>
...
</form>

演示:问题解决方案

于 2013-11-04T02:15:01.063 回答