проверка значений данных ajax - PullRequest
0 голосов
/ 02 июня 2019

Можно ли проверить наличие пустого ввода?

Я хочу проверить, получили ли данные значения из html.Если true, то следует отключить кнопку.Если нет, то не отключайте кнопку.

Это образец HTML

<!DOCTYPE html>
<html>
    <head>
        <title>Untitled Document</title>
    </head>

    <body>
        <form method="post">
            <label>email
                <input type="text" name="email" />
            </label>
        </form>
    </body>
</html>

Вот образец HTML

<script>
  $(document).ready(function () {
    $("#Submit").click(function(event) {
       Execute();
    });

    function Execute(){
      $.ajax({
        type: 'POST',
        url: 'test.php',
        data: { 'email': $("input[name='email']").val() },
         success: function(res) {
         if (data) {
          $("#Submit").attr("disabled", true);
        $('#success').text(res.response);
    } if (!data) {
    $("#Submit").attr("disabled", false);
    $('#error').text(res.error_msg);
    } else {  // do nothing }
  },
        error: function(resp) {
          alert("failed");
        }
      });
    };

  });
</script>

Ответы [ 3 ]

0 голосов
/ 02 июня 2019

Попробуйте это. Я только что изменил твой код. Надеюсь, это поможет вам. По сути, вызов ajax не вызывается до тех пор, пока вы не подтвердите свои значения, и как только вы подтвердите свои значения, вы можете продолжить работу с ajax и обработать состояние кнопки с помощью функций жизненного цикла ajax (я не знаю точного термина для них (beforeSend, complete, success и т. Д.) ):)

enter image description here

0 голосов
/ 03 июня 2019

LOL это было проще, как это

я получил исправленный D :)

только перед отправкой было решение

<script>
  $(document).ready(function () {
    $("#Submit").click(function(event) {
       Execute();

    });

    function Execute(){
      $.ajax({
        type: 'POST',
        url: 'test.php',
        data: { 'email': $("input[name='email']").val() },
        beforeSend: function(){ 

        if ($("form input[name='email']").val() == "") {
        alert("Text-field is empty.");
        return false;
            }
        },
         success: function(response) {
         $("#Submit").attr("disabled", true);
    $('#resp').text(response.feedback);
  },
        error: function() {
          alert("failed");
        }
      });
    };

  });
</script>
0 голосов
/ 02 июня 2019

U может проверять значения перед запуском ajax-запроса. Так как вы можете сериализовать данные вашей формы, а затем проверить ваши требуемые значения для запроса и, если они подтвердятся, инициировать вызов ajax с необходимыми данными

 function Execute(){
 // Contains all the inputs that are present in your form
 var formData = $('form').serializeArray();

 // Validate your values 

 // If values does not matches your requirements, return false with error like

 alert('All required values not filled');return false;


 // If code reaches here, means you have all your required values. 
 // So, making ajax request makes more sense now as it can be executed successfully as values are first validated then ajax is triggered

 $.ajax({
  // Your code for ajax request

 })

}

Perform value validation in the loop for any required values

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...