Как запустить действие формы и щелкнуть событие одновременно при нажатии кнопки

у меня вот такая форма

<form name = "test" action = "action.php" method = "get">
<input type = "text" />

<input type = "button" value = "download"/></form>

Мне нужно событие click для кнопки загрузки. Например. Если я нажму «Загрузить», он должен быть представлен как action.php и также запускаться $('#button').click(function(){. Как мне это сделать.

Почему бы вам не написать код для отправки формы внутри функции клика?

Harshal Parekh 10.04.2019 11:32

Можно ли отправить без скачивания?

Cid 10.04.2019 11:36

Как сказали сами OP в комментариях, это не их настоящий вопрос, а stackoverflow.com/questions/55607291. Так что здесь нужно проголосовать за закрытие.

04FS 10.04.2019 11:58
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
3
1 339
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Во-первых, обратите внимание, что элементы <form> не являются самозакрывающимися, поэтому ваш текущий HTML-код недействителен; элементы input должны быть в пределах самой формы.

Как только это будет исправлено, вы можете trigger() событие submit в родительской форме для элемента #button, например:

$('#button').click(function() {
  console.info('Custom logic here...');
  $(this).closest('form').trigger('submit');
});

$('form').on('submit', function(e) {
  e.preventDefault();
  console.info('Submitting form...');
});
<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form name = "test" action = "action.php" method = "get">
  <input type = "text" />
  <input type = "submit" value = "search" />
  <input type = "button" value = "download" id = "button" />
</form>

Я думаю, это не совсем так, он хочет, чтобы событие клика по кнопке загрузки ('#button') и в этом случае он тоже хотел отправить

Cid 10.04.2019 11:34

Ага, только что понял. Сейчас редактирую.

Rory McCrossan 10.04.2019 11:34

Но возможно вы правы и он хочет оба действия когда представление или скачивание

Cid 10.04.2019 11:35

Извините, мне немного непонятно. Мой актуальный вопрос: stackoverflow.com/questions/55607291/…. Не могли бы вы взглянуть

Ansh 10.04.2019 11:44
Ответ принят как подходящий

Выполните операцию по нажатию кнопки «скачать», затем запустите отправку формы с помощью trigger

$('.download').click(function(e){
alert('downloading!')             //Your Download Logic HERE
$(this).parent().trigger('submit')//Trigger Form SUBMIT ONCE THE OPERATION IS DONE

})
<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form name = "test" action = "action.php" method = "get">
<input type = "text" />
<input type = "button" value = "download" class = "download"></form>

Извините, мне немного непонятно. Мой актуальный вопрос — stackoverflow.com/questions/55607291/…. Не могли бы вы взглянуть

Ansh 10.04.2019 11:45

@Анш сначала подтвердите этот вопрос

Deepak A 10.04.2019 11:49

Вы можете просто отправить форму с помощью javascript, нажав кнопку download:

$('#button').click(function(){
...
    document.forms["myform"].submit();

Извините, мне немного непонятно. Мой актуальный вопрос — stackoverflow.com/questions/55607291/…. Не могли бы вы взглянуть

Ansh 10.04.2019 11:45

Другие вопросы по теме