JavaScript - Form OnSubmit fonctionne, mais l'Action ne s'arrête pas
Sur mon FORM
, pour une raison quelconque, je peux obtenir mon formulaire de saisie de variable via onsubmit
mais de ne pas utiliser action
.
Cela fonctionne:
<form onsubmit="javascript:myFunc(this.city.value);">
<p><input type="text" id="city-field" name="city" onfocus="this.select();" /> <input type="submit" value="Find" /></p>
</form>
Cela ne fonctionne pas (this.city.value
est jugée nulle)
<form action="javascript:myFunc(this.city.value);">
<p><input type="text" id="city-field" name="city" onfocus="this.select();" /> <input type="submit" value="Find" /></p>
</form>
Pourquoi est-ce que onsubmit
pouvez obtenir le this.city.value
mais la action
événement ne peut pas?
OriginalL'auteur | 2009-06-12
Vous devez vous connecter pour publier un commentaire.
La forme d'action de la balise ne faisant pas référence à quoi que ce soit avec
this
Au lieu de cela, utilisez un emplacement absolu
OriginalL'auteur Ian Elliott
Modifier: Merci à Christoph commentaire, ci-dessous, j'ai réalisé mon énorme de surveillance. Voici la solution finale avec sa proposition de mise en œuvre.
Ceci devrait faire ce dont vous avez besoin. Je m'excuse de ne pas vous donner toute mon attention à mes réponses précédentes.
Je l'ai remarqué juste après que j'ai posté ma réponse, mais depuis, j'ai mis à jour pour inclure un exemple qui n'est pas rechargée.
vous pouvez empêcher l'action par défaut par le retour
false
par le gestionnaire d'événements, c'est à direonsubmit="myFunc(this.city.value); return false;"
Je l'ai essayé et événement OnClick ne fonctionne pas. Auriez-vous besoin pour utiliser l'événement OnSubmit (qui n'est présent que si, dans un FORMULAIRE)?
OriginalL'auteur bchang
Les formulaires HTML sont utilisés pour transmettre des données à un script sur le serveur pour le traitement des données. Lorsqu'un formulaire est envoyé, les données dans les champs du formulaire est transmis au serveur sous la forme de paires nom-valeur. Les scripts côté serveur, qui peut être écrit dans plusieurs langues différentes, sont utilisés pour traiter les données entrantes et retourner une nouvelle page HTML au navigateur. La page renvoyée au navigateur pourrait être n'importe quoi à partir d'un "Merci de votre inscription" message ou une liste de résultats de recherche générés à partir d'une requête de base de données.
depuis le formulaire pour l'envoi de données vers un autre fichier sur le serveur. dans l'action, nous ne pouvons spécifier le chemin d'accès à qui nous devons envoyer les données. donc là vous ne pouvez pas obtenir les valeurs qui la forme est d'avoir.
OriginalL'auteur thomasbabuj