Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将不同的PHP验证响应处理到Ajax中,以在警报引导中显示_Javascript_Php_Html_Ajax_Twitter Bootstrap - Fatal编程技术网

Javascript 将不同的PHP验证响应处理到Ajax中,以在警报引导中显示

Javascript 将不同的PHP验证响应处理到Ajax中,以在警报引导中显示,javascript,php,html,ajax,twitter-bootstrap,Javascript,Php,Html,Ajax,Twitter Bootstrap,我有一个通过电子邮件恢复密码的表格。我将输入发送到PHP以执行以下操作: 验证{三条不同的验证消息) 如果通过,则返回进程 在AJAX中,一旦收到响应,虽然无效,但它被认为是成功的,因为它已在php中处理 我需要区分每个响应,以便显示适当的警报消息 如果字段输入为空,我想在警报信息消息框中显示它 如果字段输入是无效电子邮件,我想在警报警告消息框中显示它 如果在服务器中找不到字段输入,我想在警报危险消息框中显示它 如果成功,我想在alert success中显示它 $(函数(){ //获取表

我有一个通过电子邮件恢复密码的表格。我将输入发送到PHP以执行以下操作:

  • 验证{三条不同的验证消息)
  • 如果通过,则返回进程
  • 在AJAX中,一旦收到响应,虽然无效,但它被认为是成功的,因为它已在
    php
    中处理

    我需要区分每个响应,以便显示适当的警报消息

    • 如果字段输入为空,我想在
      警报信息
      消息框中显示它
    • 如果字段输入是无效电子邮件,我想在
      警报警告
      消息框中显示它
    • 如果在服务器中找不到字段输入,我想在
      警报危险
      消息框中显示它
    • 如果成功,我想在alert success中显示它
    $(函数(){
    //获取表单ID///////////////////////////////////////////
    变量形式=$(“#恢复形式”);
    //获取消息DIV ID///////////////////////////////////////////
    var formMessages=$(“#formresults”);
    $(表格)。提交(功能(e){
    $(“#提交”).prop(“已禁用”,错误);
    e、 预防默认值();
    var formData=$(form).serialize();
    $.ajax({
    键入:“POST”,
    url:$(form.attr('action'),
    数据:formData
    })
    .完成(功能(响应){
    $(formMessages).removeClass('error');
    $(formMessages).addClass('success');
    $(formMessages)。文本(响应);
    //获取表单ID///////////////////////////////////////////
    document.getElementById(“RecoveryForm”).reset();
    //$(“#重置按钮”)。单击();
    })
    .失败(功能(数据){
    $(formMessages).removeClass('success');
    $(formMessages).addClass('error');
    如果(data.responseText!=''){
    $(formMessages).text(data.responseText);
    }否则{
    $(formMessages).text('Oops!发生错误,无法发送您的邮件');
    }
    });
    $(“#提交”).removeAttr(“禁用”);
    });
    });
    
    

  • 首先,我们从html开始验证,因为这可能会受到用户的阻碍和操纵,但仍然是一个很好的开始方式

    首先,我们将
    required
    属性添加到html中的输入字段中,并更改
    输入类型
    以匹配您期望的数据类型,例如:
    input type=“email”
    隐藏输入不会防止其被篡改,最好也添加
    Readonly
    属性

       <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
        </head>
        <body>
            <div id="formresults"></div>     
            <form id="RecoveryForm" method="post" action="exa.php">
                <table align="center">
                    <tr>
                        <td>
                            <div class="input-append">
                                <input type="email" Required name="email" id="email" class="input-xlarge" placeholder="Email" maxlength="100" />
                                <span class="add-on"><li class="icon-envelope"></li></span>
                                <p id="mailerror"></p> <!-- This Segment Displays The Validation Rule For Email -->
                            </div>
                        </td>
                    </tr>
                </table>
                <input type="hidden" Readonly name="token" value="<?=Token::generate();?>" />
                <center>
                    <input type="submit" id="submit" name="Forget" class="btn btn-primary" value="Submit" />
                </center>
                <script src="ajax/jquery-2.1.0.min.js"></script>
                <script src="ajax/app.js"></script>
            </form>
         </body>
       </html>
    

    三分之一的PHP本可以写得更好,但它可能工作得很好:(所以我们暂时不谈这一点。

    用PHP验证报告不同的响应

    .done(函数(响应){
    var messageAlert=response.type;
    var messageText=response.message;
    var alertBox='×;'+messageText+'';
    
    (formMessages.html(alertBox);
    请随意编辑我的答案并使其更加准确。我的答案没有解决您的问题吗?@BobbyAxe确实解决了,但我需要在PHP上进行验证,因为我已经在那里生成了代码。如果您感兴趣,我找到了另一种方法来检查它。@BobbyAxe感谢您的帮助和时间
    <script>
     $(function() {
        /*Get FORM ID*/
        var form = $('#RecoveryForm');
    
        /*Get MESSAGE DIV ID */
        var formMessages = $('#formresults');
    
        /*Email Validation*/
        var email_regex = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
        var email = $('#email').val();
    
        if (!email.match(email_regex) || email.length == 0) {
        $('#mailerror').text("* Please enter a valid email address *");
        $("#email").focus();
        return false;
        }
        else if (email.match(email_regex) && email.length >= 5){
        $(form).submit(function(e) {
            $( "#submit" ).prop( "disabled", false ); 
            e.preventDefault();
            var formData = $(form).serialize();
                $.ajax({
                type: 'POST',
                url: $(form).attr('action'),
                data: formData
                })
            .done(function(response) {
                if (response.status=='Success'){
                    $(formMessages).removeClass('error');
                    $(formMessages).addClass('success');
                    $(formMessages).text(response.message);
                }
                else if (response.status=='warning'){
                    $(formMessages).removeClass('success');
                    $(formMessages).addClass('error');
                    $(formMessages).text(response.message);
                }
                else if (response.status=='danger'){
                    $(formMessages).removeClass('success');
                    $(formMessages).addClass('error');
                    $(formMessages).text(response.message);
                }
                else if (response.status=='info'){
                    $(formMessages).removeClass('success');
                    $(formMessages).addClass('error');
                    $(formMessages).text(response.message);
                }
    
                /*Get FORM ID */
                document.getElementById("RecoveryForm").reset();
            })
            .fail(function(data) {
                $(formMessages).removeClass('success');
                $(formMessages).addClass('error');
    
                if (data.responseText !== '') {
                    $(formMessages).text(data.responseText);
                } else {
                    $(formMessages).text('Oops! An error occured and your message could not be sent.');
                }
            });
        $("#submit").removeAttr("disabled");        
        });
        }
     });
    </script>