Comment faire pour empêcher l'élément de formulaire à partir de l'envoi de certains champs, nous ne voulons pas?
J'ai un élément de formulaire qui contient environ 5 champs de requête finale va créer par la transformation des valeurs de ces champs. Je tiens donc à envoyer seule requête finale, pas tous de ces, sur le serveur. Comment puis-je exclure les champs de soumis (à l'aide de jQuery)?
<form action="abc/def.aspx" method="get">
<input type="text" name="field1" />
<input type="text" name="field2" />
<input type="text" name="field3" />
<input type="text" name="field4" />
<input type="text" name="field5" />
<input type="hidden" name="final" />
<input type="submit" value="Send" />
</form>
Sortie de la soumission d'un formulaire se présente comme suit:
abc/def.aspx?field1=val1&field2=val2&field3=val3&field4=val4&field5=val5&final=finalQuery
Êtes-vous à l'aide de jQuery pour faire le soumettre actuellement, ou est-ce un
les deux, mais j'ai envie d'une approche lorsque le navigateur JavaScript est désactivé qui fonctionne correctement 😉
Vous avez trois options: (1) Définir le
<form method="get">
?les deux, mais j'ai envie d'une approche lorsque le navigateur JavaScript est désactivé qui fonctionne correctement 😉
Vous avez trois options: (1) Définir le
disabled
attributs de true
pour les champs. (2) Supprimer les champs' name
attributs. (3) Supprimer les champs de la DOM.OriginalL'auteur Sadegh | 2010-07-11
Vous devez vous connecter pour publier un commentaire.
Supprimer l'élément sur soumettre.
Sur le onsubmit gestionnaire:
La désactivation de l'élément de formulaire cesse également d'être entré dans la requête.(testé sur Chrome)
$(':text', this).remove();
fonctionne, pas besoin d'un retour.Sinon, le script pourrait simplement désactiver les entrées. Je suppose que cela n'a pas vraiment d'importance si c'est un simple formulaire de soumission, mais si c'était un Ajax formulaire de soumission, vous voudrez peut-être le champs d'y être encore par la suite, et c'est un peu plus facile de définir des "handicapés" pour de faux que de mettre les entrées de retour.
hm... à l'aide de votre approche désactivé les champs de formulaire, même si la validation d'un formulaire n'est pas valide. comment je peux vérifier si la validation du formulaire est vrai, alors désactiver des champs?
si la validation du formulaire est dans une fonction de retourner un booléen et demander qu'avant de faire la digitalFresh solution, pour une solution plus flexible, peut-être que vous devriez utiliser quelque chose comme jquery ajaxForm jquery.malsup.com/form il a des options pour la validation/presubmit méthodes, des rappels et toutes sortes de choses utiles
OriginalL'auteur tcooc
Supprimer l'attribut de nom sur les champs que vous ne souhaitez pas transmis au serveur.
C'est la façon la plus simple d'obtenir ce que vous voulez, et il fonctionne sur tous les principaux navigateurs.
W3 spec parle seulement de soumettre les valeurs d'un formulaire lorsque le nom est présent: http://www.w3.org/TR/html401/interact/forms.html#h-17.2
Il fonctionne très bien 😉 !!! une bonne et simple solution sans code JS. Il devrait être la bonne réponse
OriginalL'auteur lmanners
Je pense que la meilleure solution est de gérer la soumettre et ensuite envoyer la demande vous-même:
qui devrait faire exactement ce que vous voulez.
EDIT: comme l'a souligné Alex cette solution ne serait pas vous envoyer de la page, juste obtenir les résultats si vous avez besoin d'accéder à la nouvelle page, vous pouvez:
De cette façon, le navigateur est redirigé vers cette page, et seul le résultat final est de l'envoyer.
bon point alex, juste modifié pour ajouter la non solution ajax 😉 ty
OriginalL'auteur Juan Techera