#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" />