jQuery ダイアログ ボックスで保存ボタンをクリックした後、フォームを送信しても応答がありません
P粉207969787
P粉207969787 2023-08-13 15:02:29
0
1
451
<p>JSP のフォームと JavaScript の次のコードがあります。私が直面している問題は次のとおりです: </p> <p>保存ボタンをクリックすると、<code>if(speciesid === 2){</code> 条件が満たされ、jQuery から <code>"Save"< をクリックします。ダイアログの /code> ボタンを押しても、コントローラーはトリガーされません。ただし、<code>if(speciesid === 2){</code> 条件が満たされない限り、これは正常に動作し、コントローラーをトリガーします。この行 <code>" document.getElementById("orderForm").submit();"</code> についていくつか疑問があります。私のコードのどこが間違っているのかわかる人はいますか?過剰なコード内容を避けるために、他のフォームフィールドは省略されています。 </p> <pre class="brush:php;toolbar:false;"><form:form method="POST" modelAttribute="orderForm" onsubmit="return validateOrderForm(this)"> <form:errors path="*" cssClass="errorblock" element="div" /> <form:hidden path="choiceBstatus" /> <c:if test="${Species.speciesID == 2}"> <div id="checklist_dialog" title="新規エントリ"> <フォーム> <p> 名前: <input type="text" name="name" /> </p> <p>グループ: </p> </フォーム> </div> </c:if> <テーブルクラス="noPrint"> <tr> <td align="center"><br /> <input onclick="formSaveButton()" class="button" type="submit" name="保存" value="保存" /> - <input class="button" type="submit" name="キャンセル" value="キャンセル" onclick="bキャンセル = true;" /> </tr> </テーブル> </フォーム:フォーム> <スクリプトタイプ="text/javascript"> $('#checklist_dialog').hide(); 関数 formSaveButton(){ getSpeciesID('<c:out value="${Species.speciesID}"/>'); getChoiceBStatus('<c:out value="${orderForm.choiceBstatus}"/>'); } 関数 getSpeciesID(speciesid){ console.log("種 ID"); console.log(種ID); if(種ID === 2){ var selectedVal = ""; var selected = $("input[type='radio'][name='sampleChoice']:checked"); if (selected.length > 0) { selectedVal = selected.val(); console.log(selectedVal); } $('#checklist_dialog').dialog({ モーダル: true、 かぶせる: { 不透明度: 0.7、 背景:「黒」 }、 ボタン: { "保存": function() { $(this).dialog('close'); $("#choiceBstatus").val("true"); document.getElementById("orderForm").submit(); }、 "キャンセル": function() { $(this).dialog('close'); alert("フォームを保存する前に、チェックリストを完了/保存する必要があります!"); $("#choiceBstatus").val("false"); } } }); } } 関数 getChoiceBStatus(ステータス){ console.log("選択肢 B のステータス"); console.log(ステータス); } </script></pre> <p><br /></p>
P粉207969787
P粉207969787

全員に返信(1)
P粉105971514

私が見る限り、フォームに ID がありません。 document.getElementById("orderForm") は、一致する ID (この場合は # #) を持つ HTML 要素を選択することで機能します。 #"注文書"###。 ただし、HTML フォームでは ID が指定されていません。 次の ID を含めるようにフォームを更新してみてください。

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート