フォームを持つダイアログを開こうとしていますが、このフォームのデータをチェックしたいと思っています。データが検証されたら、私はそれを提出したい。私はローカルでダウンロードされたPHPを持っていないので、私は警告ボックスを追加しましたが、私はそれを送信すると何も起こりません。ダイアログが閉じません。データを検証した後にフォームを送信するにはどうすればいいですか?
私は新しいので、私は$('#dialog-form form')
私はサブミット機能を適用することができるはずですクエリを私の理解からです。
EDIT:フォームアクションをaction = "javascript:alert( 'Success!')に変更しました。問題はjquery $("#dialog-form form").submit();
にあると思います。フォームは、有効なデータが提出された後にそれを閉じることを許さないものを提出しません。
function addUser() {
var valid=true;
if (valid) {
\t \t \t $("#dialog-form form").submit();
\t \t \t $(this).dialog("close");
\t \t }
\t \t return valid;
}
dialog=$("#dialog-form").dialog({
\t \t autoOpen: false,
\t \t closeOnEscape: true,
\t \t height: 500,
\t \t width: 400,
\t \t title: "title",
\t \t modal:true,
\t \t open: function() {
\t \t $('.ui-widget-overlay').addClass('custom-overlay');
\t \t },
\t \t buttons: {
\t \t \t "Sign up": addUser,
\t \t \t Cancel: function(){
\t \t \t \t dialog.dialog("close");
\t \t \t }
\t \t },
\t \t close: function() {
\t \t \t form[ 0 ].reset();
\t allFields.removeClass("ui-state-error");
\t \t \t tips.removeClass("ui-state-highlight");
\t \t \t tips.text("text.");
\t \t },
\t \t show: { effect: "drop", direction: "up", duration: 800 }
\t \t
\t });
\t form = dialog.find("form").on("submit", function(event) {
\t \t event.preventDefault();
\t \t addUser();
\t });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="dialog-form">
\t \t \t <p class=""></p>
\t \t \t <form action="javascript:alert('Success!')">
\t \t \t \t <fieldset>
\t \t \t \t \t <input type="text" id="fname">
\t \t \t \t \t <input type="text" id="lname">
\t \t \t \t \t <input type="text" id="eid">
\t \t \t \t \t <input type="email" id="email">
\t \t \t \t \t <input type="password" id="pwd">
\t \t \t \t \t <input type="password" id="conf-pwd">
\t \t \t \t </fieldset>
\t \t \t </form>
\t \t </div>
:[。jQueryのハンドラ 'ループを'](http://stackoverflow.com/questions/31379409/form-submission-causing-maximum-call-stack -size-exceeded) –