Maison  >  Article  >  interface Web  >  Comment résoudre le problème selon lequel jquery submit() ne peut pas soumettre le formulaire

Comment résoudre le problème selon lequel jquery submit() ne peut pas soumettre le formulaire

小云云
小云云original
2018-01-17 13:19:251967parcourir

Cet article présente principalement en détail la solution au problème selon lequel jquery submit() ne peut pas soumettre le formulaire. Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer.

Lorsque j'ai écrit la soumission du formulaire aujourd'hui, j'avais besoin d'ajouter une invite de confirmation, donc je n'ai pas utilisé le bouton de soumission pour soumettre. Au lieu de cela, j'ai utilisé submit() de jq, et puis il y a eu un problème <.>


<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>
Cliquez sur le bouton Soumettre et une invite de confirmation apparaît, mais après confirmation, il n'y a pas de réponse

Mais changez le type de bouton pour soumettre Mais il était toujours capable de soumettre

Je suis donc allé sur l'API jQuery pour trouver la raison, et j'ai tout de suite compris quand j'ai vu le texte suivant :

Remarques supplémentaires :

Les formulaires et leurs éléments enfants ne doivent pas utiliser de noms d'entrée ou d'identifiants qui entrent en conflit avec les propriétés d'un formulaire, tels que la soumission, la longueur ou la méthode. Les conflits de noms peuvent provoquer des échecs déroutants. Pour une liste complète des règles et pour vérifier votre balisage pour ces problèmes, consultez DOMLint.

Cela signifie probablement que le formulaire et son sous- Les éléments ne doivent pas utiliser les attributs d'un formulaire comme nom ou identifiant, tels que la soumission, la longueur et la méthode, sinon des conflits se produiront et des conflits de noms pourraient en être la cause.

Il s'avère que c'est le cas

parce que l'identifiant du bouton est défini pour soumettre

Recommandations associées :


Comment jQuery utilise ajaxSubmit () pour soumettre une instance de formulaire Explication détaillée

Exemple d'introduction à la différence entre submit() dans JQuery et JS

Aperçu de la soumission () méthode et application d'événement onsubmit du formulaire elements_Basics Knowledge

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn