Как очистить форму при неправильном заполнении?

117
21 мая 2021, 00:10

У меня есть форма заполнения. В первой форме клиент пишет номер счет-фактуры, если оно есть в базе то на второй форме появляется сумма которую он должен оплатить. ,

Когда клиент вводит правильный номер, то оно выводит сумму 10, но мне нужно чтобы поле сумма оплаты автоматический очищалось при неправильном вводе номера Счет-фактуры. Как это можно реализовать?

html код формы:

<label class="label2 invoice"><?php echo _("№ Счета на оплату");?></label>
<input class=" field only-numeric input1 invoice" type="text" name="invoice" value="<?php ?>"/>
<p class="field-set__message invoice-note" style="display: none">Loading</p>
<p class="field-set__message invoice-errnote" style="display: none; color: red"> Please check the correctness</p>
<label class="label2"><?php echo _("Сумма оплаты(тенге)");?></label>
<input class="field only-numeric input1" type="text" name="order[calcSum]" id="summ" value="<?php echo htmlspecialchars($order->getCalcSum()); ?>"/>

ajax:

<script>
    $(document).on('change', '.invoice', '.sum',  function() {
        var loading = $('.invoice-note'),
            _this = $(this),
            err = $('.invoice-errnote');
        err.hide();
        if(_this.val().length > 3) {
            $.ajax({
                url: 'engine/ajax/invoice.php',
                type: 'POST',
                dataType: 'JSON',
                data: {
                    action: 'invoice',
                    invoice: _this.val()
                },
                beforeSend: function() {
                    loading.show();
                },
                success: function(data) {
                    if(data.error) {
                        _this.css('border', '1px solid red');
                        err.show();                     
                    } else {
                        _this.css('border', '1px solid green');
                        $('#summ').val(data.summ);
                    }
                    loading.hide();
                }
            });
        }
    });
    $.ajax({
        url:'engine/ajax/invoice.php',
        type:'POST',
        dataType: 'JSON',
        data:{
            action:'sum',
        }
    })
Answer 1

Вам нужно всего лишь добавить в условие if (data.error) следующую строчку:

$('#summ').val('');
READ ALSO
Требуется вывод введенных данных с contact form 7

Требуется вывод введенных данных с contact form 7

Появилась задача валидации веденных данных клиентомТо есть клиент вводит свои данные в контактной форме ( Contact form 7 ) , его перенаправляет...

181
Как правильно перебрать данный массив

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

С сервера приходит вот такой массив:

109
Для чего используются методы, которые мы не вызываем?

Для чего используются методы, которые мы не вызываем?

Я пишу на Bukkit'e и посмотрев как пишется код в других плагинах, часто замечаю как часто пишут вот такой код (код прикрепил), ведь мы эти методы...

162