у меня вот такая форма
<form name = "test" action = "action.php" method = "get">
<input type = "text" />
<input type = "button" value = "download"/></form>
Мне нужно событие click для кнопки загрузки. Например. Если я нажму «Загрузить», он должен быть представлен как action.php и также запускаться $('#button').click(function(){
. Как мне это сделать.
Можно ли отправить без скачивания?
Как сказали сами OP в комментариях, это не их настоящий вопрос, а stackoverflow.com/questions/55607291. Так что здесь нужно проголосовать за закрытие.
Во-первых, обратите внимание, что элементы <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'
) и в этом случае он тоже хотел отправить
Ага, только что понял. Сейчас редактирую.
Но возможно вы правы и он хочет оба действия когда представление или скачивание
Извините, мне немного непонятно. Мой актуальный вопрос: stackoverflow.com/questions/55607291/…. Не могли бы вы взглянуть
Выполните операцию по нажатию кнопки «скачать», затем запустите отправку формы с помощью 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/…. Не могли бы вы взглянуть
@Анш сначала подтвердите этот вопрос
Вы можете просто отправить форму с помощью javascript, нажав кнопку download
:
$('#button').click(function(){
...
document.forms["myform"].submit();
Извините, мне немного непонятно. Мой актуальный вопрос — stackoverflow.com/questions/55607291/…. Не могли бы вы взглянуть
Почему бы вам не написать код для отправки формы внутри функции клика?