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>
1 <script type="text/javascript"> 2 $(function () { 3 $("#submit").click(function () { 4 var start = '@(Model.annualRate_beginDate?.ToString("yyyy-MM-dd"))'; 5 var end = $("#annualRate_endDate").val(); 6 var val = $("#annualRate_rate").val(); 7 layer.confirm('请确认所填写的信息是否正确?<br/>开始时间:' + start + '<br/>结束时间:' + end + '<br/>年利率:' + val, { icon: 3, title: '提示' }, function (index) { 8 $("#form").submit(); 9 layer.close(index); 10 }); 11 }); 12 }) 13 </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改了就没问题了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?