0

これまでのところ、ユーザーがデータを投稿できるようにする html フォームがあります。これは、フォーム処理を行うために必要な手順です。

1. ユーザーがページ A でデータを送信すると、ページ A に Jquery ダイアログ ウィンドウが表示され、ユーザーは自分の操作が正しいかどうかを確認できます。

2、ダイアログ ウィンドウで [はい] をクリックした後、もう一度ページ A に移動する必要があります。押されたボタンが「はい」か「いいえ」かに従って、同じページがロジックを処理します。

3、ロジックはページ B にリダイレクトするか、検証エラーを出力します。

ページ A

ユーザーがデータを送信できるフォーム

 <form style="display:block" id="edit-user" name="input" action="" method="post">                   
                    <?php
                        if(isset($users)) {
                            echo "<select name='users'>"; 
                            foreach($users as $user) {

                                echo "<option value='".$user."'>".$user."</option>";

                            }
                            echo "</select> 
                            <input type='submit' value='Submit' name='edit-user'>";
                        }


                    ?>

同じページからフォームが投稿された後にポップアップするページ A のダイアログ ウィンドウ。

  if($_POST['edit-user']) { ?>

<script type="text/javascript">

    $(function() {
        $("#dialog-confirm").dialog({
            dialogClass: "no-close smaller-text",
            resizable: false,
            height:160,
            modal: true,
            buttons: {
                "Yes": function() {
                    $(this).dialog( "close" );

                },
                Cancel: function() {
                    $(this).dialog( "close" );
                }

            }
        });
    });
</script>

<?php }  ?>

これに対する解決策はありますか?これを完全に行う別の方法がある場合は、共有してください。

4

2 に答える 2

0

次のようなことを試すことができます:

ページ A

<form id="edit-user" name="input" action="" method="post">
...your input fields here...
<button type="button" id="submitBtn">Submit</button>
</form>

ページ A スクリプト

 <script type="text/javascript">
 $(function() {
    $('#submitBtn').on('click',function(){
        $("#dialog-confirm").dialog({
            dialogClass: "no-close smaller-text",
            resizable: false,
            height:160,
            modal: true,
            buttons: {
            "Yes": function() {
                $(this).dialog( "close" );
                $('#edit-user').submit();

            },
            Cancel: function() {
                $(this).dialog( "close" );
            }

        });
    });
});
</script>
于 2013-05-12T18:21:53.183 に答える
0
<form style="display:block" id="edit-user" name="input" action="" method="post">                   
  <?php
     if(isset($users)) 
     {
        echo "<select name='users' id='users'>"; 
        foreach($users as $user) 
        {
          echo "<option value='".$user."'>".$user."</option>";
        }
        echo "</select> 
        <input type='button' value='Submit' onclick='validate();'>";
     }


  ?>
<script>
function validate()
{
 var user = getElementById('#users').value;
  $("#dialog-confirm").dialog({
        dialogClass: "no-close smaller-text",
        resizable: false,
        height:160,
        modal: true,
        buttons: {
            "Yes": function() {
                /*Do the client side validation.
                For server side validation make use of ajax. In 
                server side validation, handle rest of the script according to response.
                */
                if(VALIDATION FAIL)
                {//output error
                 $(this).dialog( "close" );}else{
                window.location.href = 'Url to Page B'; //If validation is success
                }
            },
            Cancel: function() {
                $(this).dialog( "close" );
            }

        }
    });
}
</script>
于 2013-05-12T18:44:00.527 に答える