欢迎光临
我们一直在努力

jquery submit()不能提交表单的解决方法

今天写表单提交的时候需要增加一个确认提示,所以没有使用submit按钮提交,改用jq的submit(),然后问题了

<form class="form-horizontal m-t" method="post" action="@Url.Action("Edit")" id="form">
        <div class="row">
            <div class="col-sm-12">
                <div class="ibox float-e-margins">
                    <div class="ibox-title">
                        <h5>添加</h5>
                    </div>
                    <div class="ibox-content">
                        <div class="form-group">
                            <label class="col-sm-3 control-label">开始时间:</label>
                            <div class="col-sm-8">
                                <span>
                                    @(Model.annualRate_beginDate?.ToString("yyyy-MM-dd"))
                                </span>
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="col-sm-3 control-label">结束时间:</label>
                            <div class="col-sm-8">
                                <input type="text" class="form-control" name="annualRate_endDate" id="annualRate_endDate" onclick="laydate({ istime: false, format: 'YYYY-MM-DD' })" value="@Model.annualRate_endDate.ToString("yyyy-MM-dd")" required>
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="col-sm-3 control-label">年利息%:</label>
                            <div class="col-sm-8">
                                <input type="number" step="0.01" class="form-control" id="annualRate_rate" name="annualRate_rate" value="@Model.annualRate_rate.ToString("#0.00")" required>
                            </div>
                        </div>
                        <div class="form-group">
                            <div class="col-sm-4 col-sm-offset-2">
                                <button class="btn btn-lg btn-primary" id="submit_btn" type="button">
                                    提交
                                </button>

                                <a class="btn btn-lg btn-white" href="@Url.Action("Index")">
                                    取消
                                </a>
                            </div>
                        </div>
                    </div>
                </div>

            </div>
        </div>
    </form>
<script type="text/javascript">
    $(function () {
        $("#submit").click(function () {
            var start = '@(Model.annualRate_beginDate?.ToString("yyyy-MM-dd"))';
            var end = $("#annualRate_endDate").val();
            var val = $("#annualRate_rate").val();
            layer.confirm('请确认所填写的信息是否正确?<br/>开始时间:' + start + '<br/>结束时间:' + end + '<br/>年利率:' + val, { icon: 3, title: '提示' }, function (index) {
                $("#form").submit();
                layer.close(index);
            });
        });
    })
</script>

点击提交按钮出现确认提示,但是确认后就没反应了

但是将button的type改为submit却又能提交

于是上jQuery API查找原因,看到以下这段文字顿时明白了:

Additional Notes:

  • Forms and their child elements should not use input names or ids that conflict with properties of a form, such as submit, length, or method. Name conflicts can cause confusing failures. For a complete list of rules and to check your markup for these problems, see DOMLint.

大概意思是表单和其子元素不宜用一个表单的属性的属性作为name或id的名称,如submit, length, 和 method等,否则会产生冲突,名称冲突可能就会导致这种情况。

原来是因为按钮id设为了submit

接下来只要将id改了就没问题了

未经允许不得转载:BkCoding » jquery submit()不能提交表单的解决方法

分享到:更多 ()

评论 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    您好,您的网站做的很不错,很漂亮,我已经收藏了,方便我随时访问.

    电动螺旋压力机7个月前 (04-24)回复