ホームページ  >  記事  >  ウェブフロントエンド  >  jquery submit()がフォームを送信できない問題の解決方法

jquery submit()がフォームを送信できない問題の解決方法

小云云
小云云オリジナル
2018-01-17 13:19:251967ブラウズ

この記事では、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: &#39;YYYY-MM-DD&#39; })" 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 = &#39;@(Model.annualRate_beginDate?.ToString("yyyy-MM-dd"))&#39;;
      var end = $("#annualRate_endDate").val();
      var val = $("#annualRate_rate").val();
      layer.confirm(&#39;请确认所填写的信息是否正确?<br/>开始时间:&#39; + start + &#39;<br/>结束时间:&#39; + end + &#39;<br/>年利率:&#39; + val, { icon: 3, title: &#39;提示&#39; }, function (index) {
        $("#form").submit();
        layer.close(index);
      });
    });
  })
</script>

送信ボタンをクリックすると確認プロンプトが表示されましたが、確認しても応答はありませんでした

しかし、ボタンの種類を送信に変更した後はまだ送信できました

そこで、jQuery APIに行きました。理由を見つけるために、次のテキストを見てすぐに理解しました:

追加の注意事項:

フォームとその子要素では、フォームのプロパティ (submit など) と競合する入力名または ID を使用しないでください。 、長さ、またはメソッドの競合により、混乱を招くエラーが発生する可能性があります。ルールの完全なリストと、これらの問題のマークアップを確認するには、DOMLint を参照してください。

これは、おそらく、フォームとそのサブ要素がそうしないと、競合が発生し、名前の競合がこの状況を引き起こす可能性があります。

ボタン ID が submit に設定されているため、であることがわかります

関連する推奨事項:

jQuery が ajaxSubmit() を使用してフォーム インスタンスを送信する方法の詳細な説明

との違いの例の紹介JSのJQueryとsubmit()

フォーム要素のsubmit()メソッドとonsubmitイベント応用の概要_基礎知識

以上がjquery submit()がフォームを送信できない問題の解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。