この記事では、jquery submit() がフォームを送信できない問題の解決策を主に詳しく紹介します。興味のある方は参考にしていただければ幸いです。
今日フォームの送信を書いたときに、確認プロンプトを追加する必要があったので、送信ボタンを使用せずに、代わりに jq の submit() を使用しました。その後、問題が発生しました
<form class="form-horizontal m-t" method="post" action="@Url.Action("Edit")" id="form"> <p class="row"> <p class="col-sm-12"> <p class="ibox float-e-margins"> <p class="ibox-title"> <h5>添加</h5> </p> <p class="ibox-content"> <p class="form-group"> <label class="col-sm-3 control-label">开始时间:</label> <p class="col-sm-8"> <span> @(Model.annualRate_beginDate?.ToString("yyyy-MM-dd")) </span> </p> </p> <p class="form-group"> <label class="col-sm-3 control-label">结束时间:</label> <p 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> </p> </p> <p class="form-group"> <label class="col-sm-3 control-label">年利息%:</label> <p 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> </p> </p> <p class="form-group"> <p 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(" rel="external nofollow" Index")"> 取消 </a> </p> </p> </p> </p> </p> </p> </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>
送信ボタンをクリックすると確認プロンプトが表示されましたが、確認しても応答はありませんでした
しかし、ボタンの種類を送信に変更した後はまだ送信できました
そこで、jQuery APIに行きました。理由を見つけるために、次のテキストを見てすぐに理解しました:
追加の注意事項:
フォームとその子要素では、フォームのプロパティ (submit など) と競合する入力名または ID を使用しないでください。 、長さ、またはメソッドの競合により、混乱を招くエラーが発生する可能性があります。ルールの完全なリストと、これらの問題のマークアップを確認するには、DOMLint を参照してください。
これは、おそらく、フォームとそのサブ要素がそうしないと、競合が発生し、名前の競合がこの状況を引き起こす可能性があります。
ボタン ID が submit に設定されているため、であることがわかります
関連する推奨事項:
jQuery が ajaxSubmit() を使用してフォーム インスタンスを送信する方法の詳細な説明
フォーム要素のsubmit()メソッドとonsubmitイベント応用の概要_基礎知識
以上がjquery submit()がフォームを送信できない問題の解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。