Maison > Article > interface Web > Comment résoudre le problème selon lequel jquery submit() ne peut pas soumettre le formulaire
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: '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>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 casparce 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!