在同一页面上确认对话框后显示错误。 Jquery和PHP

时间:2013-05-12 18:06:46

标签: php jquery forms dialog

到目前为止,我有一个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 }  ?>

对此有何解决方案?如果还有其他方式完全这样做,请分享。

2 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情:

第A页

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

Page A Script

 <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>

答案 1 :(得分: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>