кнопка отмены php form jquery

#php #javascript #jquery #forms

#php #javascript #jquery #формы

Вопрос:

Это кнопки в моей форме:

 <input type="submit" id="form-submit" class="btn" name="save" value="verzenden" />
<input type="submit" name="cancel" class="btn" value="annuleren" />
  

Я перехватываю щелчок отмены с помощью php следующим образом:

 if($_POST['cancel'])
{
    Helper::redirect('page.php');
}
  

Но прежде чем я отправлю свою форму, я использую некоторый jQuery для проверки формы, теперь я не могу нажать кнопку отмена, потому что она будет проверена первой.

Это мой код jQuery:

 <script type="text/javascript">

    $(document).ready(function(){ 
        $('#cancel').delegate('','click change',function(){
            console.log('test');
        });

        $('form').submit(function(){
            var proceed = true;

            $('.required').each(function(){
                if ($(this).val() == '' || $(this).val() == 0 || $(this).val() == '0') {
                    $(this).css('border-color', '#F00');
                    proceed = false;
                }
                else {
                    $(this).css('border-color', '#999');
                }
            });


            return proceed;
        });

        // Check on typing if a required field is empty
        $('.required').keyup(function(){
            if ($(this).val() == '' || $(this).val() == 0 || $(this).val() == '0' ) 
                $(this).css('border-color', '#F00');
            else 
                $(this).css('border-color', '#999');
        }); 
    });
</script>
  

Как я могу игнорировать jQuery и перенаправлять на page.php когда я нажму кнопку отмены?
Спасибо

Комментарии:

1. Почему бы вам просто не использовать JavaScript для перенаправления на страницу при нажатии кнопки отмены? Отправка формы только для того, чтобы отбросить ее и перенаправить, является пустой тратой трафика и времени.

2. Помните, что проверка на стороне клиента никоим образом не является безопасной.

3. спасибо, я попробую перенаправить javascript, и у меня также есть проверка php

4. это работает, но я все еще вижу проверку (красные границы) на секунду, прежде чем она перенаправит, как можно использовать что-то вроде php exit() в javascript?

Ответ №1:

 $('#cancel').delegate('','click change',function(){
    console.log('test');
});
  

Это не сработает, пока в вашей форме нет элемента с идентификатором cancel

Измените эту кнопку

 <input type="submit" name="cancel" class="btn" value="annuleren" />
  

Для

 <input type="submit" id="cancel" name="cancel" class="btn" value="annuleren" />
  

Комментарии:

1. Извините, но я неправильно написал html: $

Ответ №2:

Это то, что я получил сейчас:
спасибо ThiefMaster

//javascript

 $('#cancel').delegate('','click change',function(){
    window.location = "testimonials.php";
    return false;
});
  

//php

 if($_POST['cancel'])
{
    Helper::redirect('testimonials.php');
}
  

//html

 <input name="cancel" type="submit" id="cancel" class="btn" value="annuleren" />