jQuery对话框保存按钮点击后,提交表单没有反应
P粉207969787
P粉207969787 2023-08-13 15:02:29
[HTML讨论组]
<p>我在JSP中有一个表单和JavaScript的以下代码。我面临的问题如下:</p> <p>当我点击保存按钮时,如果满足<code>if(speciesid === 2){</code>条件,并且我从jquery对话框中点击<code>"保存"</code>按钮,它不会触发控制器。然而,只要<code>if(speciesid === 2){</code>条件不满足,它就能正常工作并触发我的控制器。我对这一行<code>" document.getElementById("orderForm").submit();"</code>有些怀疑。有人能看出我的代码有什么问题吗?为了避免代码内容过多,其他表单字段已被省略。</p> <pre class="brush:php;toolbar:false;">&lt;form:form method="POST" modelAttribute="orderForm" onsubmit="return validateOrderForm(this)"&gt; &lt;form:errors path="*" cssClass="errorblock" element="div" /&gt; &lt;form:hidden path="choiceBstatus" /&gt; &lt;c:if test="${Species.speciesID == 2}"&gt; &lt;div id="checklist_dialog" title="New Entry"&gt; &lt;form&gt; &lt;p&gt; Name: &lt;input type="text" name="name" /&gt; &lt;/p&gt; &lt;p&gt;Group: &lt;/p&gt; &lt;/form&gt; &lt;/div&gt; &lt;/c:if&gt; &lt;table class="noPrint"&gt; &lt;tr&gt; &lt;td align="center"&gt;&lt;br /&gt; &lt;input onclick="formSaveButton()" class="button" type="submit" name="save" value="Save" /&gt; - &lt;input class="button" type="submit" name="cancel" value="Cancel" onclick="bCancel = true;" /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/form:form&gt; &lt;script type="text/javascript"&gt; $('#checklist_dialog').hide(); function formSaveButton(){ getSpeciesID('&lt;c:out value="${Species.speciesID}"/&gt;'); getChoiceBStatus('&lt;c:out value="${orderForm.choiceBstatus}"/&gt;'); } function getSpeciesID(speciesid){ console.log("Species ID"); console.log(speciesid); if(speciesid === 2){ var selectedVal = ""; var selected = $("input[type='radio'][name='sampleChoice']:checked"); if (selected.length &gt; 0) { selectedVal = selected.val(); console.log(selectedVal); } $('#checklist_dialog').dialog({ modal: true, overlay: { opacity: 0.7, background: "black" }, buttons: { "SAVE": function() { $(this).dialog('close'); $("#choiceBstatus").val("true"); document.getElementById("orderForm").submit(); }, "CANCEL": function() { $(this).dialog('close'); alert("You must complete / save the checklist before saving your form!"); $("#choiceBstatus").val("false"); } } }); } } function getChoiceBStatus(status){ console.log("Choice B Status"); console.log(status); } &lt;/script&gt;</pre> <p><br /></p>
P粉207969787
P粉207969787

全部回复(1)
P粉105971514

从我所看到的情况来看,您在表单上缺少了id,document.getElementById("orderForm") 通过选择具有匹配id的HTML元素来工作,在这里是"orderForm"

然而,您的HTML表单没有指定任何id。 请尝试更新表单以包括以下id。

<form:form id="orderForm" method="POST" modelAttribute="orderForm"
    onsubmit="return validateOrderForm(this)">
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号