J'ai un formulaire qui télécharge un fichier et cible un iframe sur la page. Lorsque l'utilisateur clique sur Soumettre, je souhaite que le contenu du fichier "s'efface".
J'ai essayé
$('#imageaddform').submit(function(){
$('#imagefile').val('');
});
Mais il efface le formulaire avant la soumission, donc rien n'est jamais téléchargé.
Comment puis-je effacer après la soumission?
Si vous n'avez aucun autre gestionnaire lié, vous pouvez faire quelque chose comme ceci:
$('#imageaddform').submit(function(e) {
e.preventDefault(); // don't submit multiple times
this.submit(); // use the native submit method of the form element
$('#imagefile').val(''); // blank the input
});
La solution de Lonesomeday a fonctionné pour moi mais pour Google Chrome J'ai trouvé qu'elle soumettrait toujours des données de formulaire vides à moins que j'ajoute un délai comme celui-ci:
$('#imageaddform').submit(function(e) {
e.preventDefault(); // don't submit multiple times
this.submit(); // use the native submit method of the form element
setTimeout(function(){ // Delay for Chrome
$('#imagefile').val(''); // blank the input
}, 100);
});
Vous pouvez faire quelque chose comme ça:
$('#imageaddform').submit(function(){
setTimeout(function() {
$('#imagefile').val('');
},100);
});
Comment soumettez-vous le formulaire? s'il s'agit d'un post de formulaire normal, alors la page n'existera pas dans ce cas, je me demande si vous cherchez à effacer le formulaire avant que la page ne soit actualisée afin que lorsque l'utilisateur revient, il ne voit pas les valeurs renseignées.
Si le formulaire est soumis par ajax, vous pouvez
function(){
$('form1')[0].submit();
clearForm();
}
Ai-je raté la question?