Кнопка включения, когда текстовое поле становится пустым в запросе Ajax - PullRequest
1 голос
/ 29 сентября 2019

В моей форме login я использую Ajax для проверки, чтобы проверить, существует ли уже адрес email в mysql database. Когда я ввел адрес email, тогда запрос ajax автоматически показывает, является ли сообщениедоступно или нет. В этом случае я отключаю свой submit button, если email уже находится в database, после того, как текстовое поле становится пустым, submit button становится, если оно есть, оно не может перейти в предыдущее состояние (включено).

У меня есть код java script для включения, но он неэффективен, потому что, когда я сразу удаляю доступный текст в поле электронной почты, все равно button отключается

Я пробовал определенные сегменты кода, которыеследующий

HTML страница

 <span id="success_mes" class="text-success"></span>

                    <form name="poster" id="poster" method="post" class="s12" data-toggle="validator">
                        <div>
                            <div class="input-field s12">
                                <input type="text" id="username" name="username" data-ng-model="name1" class="validate"
                                    required>
                                <label>User name</label>
                                <span id="userName-info" class="info text-danger"></span><br />

                            </div>
                        </div>
                        <div>
                            <div class="input-field s12">
                                <input type="email" id="email" name="email"  onblur="checkemail();" onkeyup="checkemail();" onchange="checkemail();" class="validate" required>
                                <label>Email id</label>
                                <span id="userEmail-info" class="info"></span>
                                <span id="email_status" name="email_status"></span>

                            </div>
                        </div>
                        <div>
                            <div class="input-field s12">
                                <input type="password" name="password" id="password" class="validate" required>
                                <label>Password</label>
                                <span id="pass" class="info text-danger"></span><br />

                            </div>
                        </div>
                        <div>
                            <div class="input-field s12">
                                <input type="password" name="password1" id="password1" class="validate" required>
                                <label>Confirm password</label>
                                <span id="pass1" class="info text-danger"></span><br />

                            </div>
                        </div>
                        <span id="invalid" class="info text-danger"></span><br />

                        <div>
                            <div class="input-field s4">

                                <input type="button" value="Register" id="Register" name="Register"
                                    class="waves-effect waves-light log-in-btn">
                            </div>

                        </div>

                        <div>
                            <div class="input-field s12"> <a href="#" data-dismiss="modal" data-toggle="modal"
                                    data-target="#modal1">Are you a already member ? Login</a> </div>
                        </div>
                    </form>

Это мой Ajax запрос

<script>

     if (!$('#email').val()) {
         $('#Register').show();
     }

    function checkemail() {
        var email = document.getElementById("email").value;

        if (email) {

            $.ajax({
                type: "POST", // type
                url: "phpquery/checkmail.php", // request file the 'check_email.php'
                data: {
               email: email,
                }, // post the data
                success: function (responseText) { // get the response
                    $('#email_status').html(responseText);
                    if (responseText == "This Email Address is Already Exist") { // if the response is 1
                        $("email_status").fadeIn().html(responseText);
                        //         setTimeout(function(){  
                        //        $('#email_status').fadeOut("Slow");  
                        //   }, 2000); 
                        $('#Register').hide();
                        return true;
                        // $("span.loading").html("");

                    } else { // else blank response

                        if (responseText == "You can use this Email ID") {
                            $("email_status").fadeIn().html(responseText);
                            setTimeout(function () {
                                $('#email_status').fadeOut("Slow");
                            }, 2000);
                            $('#Register').show();
                            return false;

                            // $("email_status").html(" You are registred.");
                            // $("span.validation").html("");
                            // $("form input[type='text']").val(''); // optional: empty the field after registration
                        } else {


                        }

                    }
                } // end success
            }); // ajax end

        }
        else {
            $('#email_status').html("");
            return false;
        }
    }


</script>

Это моя php страница

<?php

include('dbconnection.php');

if(isset($_POST['email']))
{
 $email=$_POST['email'];

 $checkdata=" SELECT email FROM patients WHERE email='$email' ";

 $query=mysqli_query($con,$checkdata);

 if(mysqli_num_rows($query)>0)
 {
  echo "This Email Address is Already Exist"; 
 }

 else

 {
echo "You can use this Email ID";
}
exit();
}

?>

Пожалуйста, кто-нибудь, помогите м

1 Ответ

0 голосов
/ 29 сентября 2019

Я проверил ваш код, все в порядке (кнопка скрывается и отображается).

Вы должны изменить тип кнопки, чтобы отправить ее, чтобы решить вашу проблему.

Измените это:

<input type="button" value="Register" id="Register" name="Register"
             class="waves-effect waves-light log-in-btn">

Кому:

<input type="submit" value="Register" id="Register" name="Register"
             class="waves-effect waves-light log-in-btn">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...