Heim  >  Artikel  >  Web-Frontend  >  So lösen Sie das Problem, dass jquery subscribe() das Formular nicht senden kann

So lösen Sie das Problem, dass jquery subscribe() das Formular nicht senden kann

小云云
小云云Original
2018-01-17 13:19:251999Durchsuche

In diesem Artikel wird hauptsächlich die Lösung für das Problem vorgestellt, dass jquery subscribe() einen gewissen Referenzwert hat. Ich hoffe, es kann jedem helfen.

Als ich heute die Formularübermittlung schrieb, musste ich eine Bestätigungsaufforderung hinzufügen, also habe ich zum Senden nicht die Schaltfläche „Senden“ verwendet. Stattdessen habe ich „submit()“ von jq verwendet, und dann gab es ein Problem


<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>

Klicken Sie auf die Schaltfläche „Senden“ und eine Bestätigungsaufforderung wird angezeigt. Nach der Bestätigung erfolgt jedoch keine Antwort

Aber ändern Sie den Schaltflächentyp in „Senden“. Aber es konnte trotzdem gesendet werden

Also ging ich zur jQuery-API, um den Grund zu finden, und als ich das sah, verstand ich es sofort folgender Text:

Zusätzliche Hinweise:

Formulare und ihre untergeordneten Elemente sollten keine Eingabenamen oder IDs verwenden, die mit den Eigenschaften eines Formulars in Konflikt stehen. Namenskonflikte wie Submit, Länge oder Methode können zu verwirrenden Fehlern führen. Eine vollständige Liste der Regeln und Informationen zum Überprüfen Ihres Markups auf diese Probleme finden Sie unter DOMLint.

Dies bedeutet wahrscheinlich, dass das Formular und seine Unter- Elemente sollten die Attribute eines Formulars nicht als Namen oder ID verwenden, z. B. Senden, Länge und Methode, da sonst Konflikte auftreten und Namenskonflikte dies verursachen können.

Es stellt sich heraus, weil die Schaltflächen-ID auf Senden eingestellt ist

Verwandte Empfehlungen:

Wie jQuery ajaxSubmit verwendet () zum Senden einer Formularinstanz Ausführliche Erklärung

Beispielhafte Einführung in den Unterschied zwischen subscribe() in JQuery und JS

Übersicht über das Senden ()-Methode und onsubmit-Ereignisanwendung von Formularelementen_Basics Knowledge

Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem, dass jquery subscribe() das Formular nicht senden kann. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn