1
votes

Comment exécuter l'action de formulaire et cliquer sur l'événement simultanément sur un clic sur le bouton

J'ai un formulaire comme celui-ci

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

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

J'ai besoin d'un événement de clic pour le bouton de téléchargement. Par exemple. Si je clique sur télécharger, il doit être envoyé en tant que action.php et exécuter $ ('# button'). Cliquez sur (function () { également. Comment puis-je le faire.


3 commentaires

Pourquoi n'écrivez-vous pas le code pour soumettre le formulaire dans la fonction de clic?


Est-ce possible de soumettre sans téléchargement?


Comme OP l'a dit lui-même dans ses commentaires, ce n'est pas sa vraie question, mais stackoverflow.com/questions/55607291 l'est. Donc, ceci devrait être voté pour fermer.


3 Réponses :


1
votes

Tout d'abord, notez que les éléments

ne se ferment pas automatiquement, donc votre HTML actuel n'est pas valide; les éléments input doivent être dans le formulaire lui-même.

Une fois que cela est corrigé, vous pouvez trigger () un soumettre sur le formulaire parent à l'élément #button , comme ceci:

<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').click(function() {
  console.log('Custom logic here...');
  $(this).closest('form').trigger('submit');
});

$('form').on('submit', function(e) {
  e.preventDefault();
  console.log('Submitting form...');
});


4 commentaires

Je suppose que ce n'est pas tout à fait cela, il veut un événement de clic sur le bouton de téléchargement ( '#button' ) et dans ce cas, il veut également soumettre


Oui, je viens de réaliser. Le modifier maintenant.


Mais peut-être que vous avez raison et qu'il souhaite les deux actions lors de la soumission ou du téléchargement


Je suis désolé, c'est peu clair pour moi. Ma question actuelle est stackoverflow.com/questions/55607291/... . Pouvez-vous s'il vous plaît jeter un oeil



2
votes

Effectuez l'opération en cliquant sur le bouton 'download' puis déclenchez l'envoi du formulaire en utilisant trigger

<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>
$('.download').click(function(e){
alert('downloading!')             //Your Download Logic HERE
$(this).parent().trigger('submit')//Trigger Form SUBMIT ONCE THE OPERATION IS DONE

})


2 commentaires

Je suis désolé, c'est peu clair pour moi. Ma vraie question est stackoverflow.com/questions/55607291/…. Pouvez-vous s'il vous plaît jeter un oeil


@Ansh, veuillez d'abord confirmer cette question



1
votes

Vous pouvez simplement soumettre votre formulaire par javascript, après avoir cliqué sur le bouton télécharger :

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


1 commentaires

Je suis désolé, c'est peu clair pour moi. Ma vraie question est stackoverflow.com/questions/55607291/…. Pouvez-vous s'il vous plaît jeter un oeil