Je veux qu'un formulaire html ne fasse rien après avoir été soumis.
action=""
n'est pas bon car il provoque le rechargement de la page.
Fondamentalement, je veux qu'une fonction ajax soit appelée chaque fois qu'un bouton est enfoncé ou que quelqu'un frappe "Entrée" après avoir tapé les données. Oui, je pourrais supprimer la balise de formulaire et ajouter simplement appeler la fonction à partir de l'événement onclick du bouton, mais je veux également la fonctionnalité "frapper entrée" sans obtenir tout hackish.
En utilisant return false;
dans le javascript que vous appelez à partir du bouton d'envoi, vous pouvez empêcher l'envoi du formulaire.
Fondamentalement, vous avez besoin du code HTML suivant:
<form onsubmit="myFunction(); return false;">
<input type="submit" value="Submit">
</form>
Ensuite, le javascript de support:
<script language="javascript"><!--
function myFunction() {
//do stuff
}
//--></script>
Si vous le souhaitez, vous pouvez également avoir certaines conditions permettant au script de soumettre le formulaire:
<form onSubmit="return myFunction();">
<input type="submit" value="Submit">
</form>
Jumelé avec:
<script language="JavaScript"><!--
function myFunction() {
//do stuff
if (condition)
return true;
return false;
}
//--></script>
Cela fonctionne également:
<form id='my_form' action="javascript:myFunction(); return false;">
<form id="my_form" onsubmit="return false;">
est assez ...
Que diriez-vous
<form id="my_form" onsubmit="the_ajax_call_function(); return false;">
......
</form>
Vous pouvez utiliser le code HTML suivant
<form onSubmit="myFunction(); return false;">
<input type="submit" value="Submit">
</form>
Dans le cadre de l'événement onclick du bouton, retournez false, ce qui empêchera la soumission du formulaire.
c'est à dire:
function doFormStuff() {
// ajax function body here
return false;
}
Et il suffit d'appeler cette fonction en cliquant sur le bouton Soumettre. Il existe de nombreuses façons différentes.