#javascript #jquery #forms #submit
#javascript #jquery #формы #Отправить
Вопрос:
Я пытаюсь воспроизвести функцию публикации отзыва, которую вы видите здесь, в stackoverflow, но я борюсь с необходимостью двух кликов для отправки части этого. Мои поиски вернули множество проблем с проверкой, но ничего не имеют отношения к тому, что я ищу.
У меня есть стандартная форма:
<form action="http://www.google.com/">
<textarea name="text"></textarea>
<input type="submit" name="review" value="Review" />
</form>
С помощью следующего jQuery:
$(function(){
$('form').submit(function(){
$('html, body').animate({scrollTop : $(".Anchor").offset().top}, 300);
return false; // to cancel form action
});
});
Как я могу сделать так, чтобы при нажатии кнопки отправки она переходила к привязке, а затем при следующем нажатии отправляла форму? Я также хотел бы изменить значение с review на submit, но я уверен, что смогу разобраться с этой частью после получения ответа на первоначальный вопрос.
Живой пример того, что у меня есть, можно найти здесь, в CodePen
Комментарии:
1. Возможно, сохраните переменную, чтобы отслеживать выполненные события и выполнять прокрутку и отправку формы на основе значения этой переменной. Вы можете использовать эту переменную, чтобы изменить имя с review на submit . Например:
let hasUserReviewedTheForm = false
Затем измените значение переменной при первом щелчке наtrue
, а затем измените имя и отправьте форму.
Ответ №1:
Используя переменную внутри вашей функции, вы можете переключать переменную с true
на на false
по щелчку мыши. С помощью этого метода вы можете манипулировать всем, что хотите, чтобы второе действие было в операторе else.
Пример этого основан на предоставленном вами коде:
$(function(){
let hasUserReviewedTheForm = false;
$('form').submit(function(){
if(!hasUserReviewedTheForm) {
$('html, body').animate({scrollTop : $(".Anchor").offset().top}, 300);
//change the form name and change the variable value
hasUserReviewedTheForm = true;
return false; // to cancel form action
}
else {
//Submit the form
}
});
});
Комментарии:
1. Те моменты, когда ты пукаешь, когда ты такой, как дух, как я не думал об этом таким образом. Я слишком много думал об этом, спасибо за простое решение.
2. Ха-ха! Я тоже был там!