11548 sujets

JavaScript, DOM et API Web HTML5

Bonsoir!

J'ai un formulaire quelconque dont je voudrais récupérer les valeurs lors du click sur un input button.

Ce onClick appelle on fonction appelé submitForm qui parsera les données transmises (l'objet document.form[x] ?) et fait appelle à une autre fonction qui les envoi avec xmlHttpRequest pour traitement.

Le problème est que je ne sais tout bêtement si c'est possible ? Comment récupérer le contenu de champs de mon form ? Sous quel form ? un array ? Smiley sweatdrop

Voila un bout de code que sera peut-être plus clair que mes explication :

		
<form id="form1" >
			<input type="text" name="table_name"/> 
			<input type="hidden" value="1" name="ajt_tbl" />
			<input type="button" value="+" onClick="submitForm(getElementById[form1])" />
			
</form>


Ca ne fonctionne pas évidement.. Smiley lol

Merci à ceux qui pourront m'éclairer un peu Smiley ravi
Modifié par nakwa (06 Jul 2009 - 19:53)
Bonjour,
Une solution assez rapide : jQuery --> avantage, jQuery possède ses propres méthodes ajax.
Autre avantage, le script se trouve hors du html, pas besoin de mettre un onclick.

La syntaxe serait quelque chose comme ça:
La commande serialize formate tous les champs du formulaire en url.



jQuery("#form1").submit(function(){
  var params = jQuery("#form1").serialize();
  jQuery.get("validform.php?" + params, function(data){

    fonction de callback (par exemple : écrire "formulaire validé correctement")

  })
  return false;
})



Sinon, si tu donnes des id à tes champs :
tu crées une variable par champs et tu les envoies comme paramètres.
ce serait du genre:


var table_name = document.getElementById("table_name").value;
etc ...
ou avec jQuery :
var table_name = jQuery("#table_name").val();


J'fais l'malin, mais je n'arrive même pas à utiliser la balise code, bintanpis.

Ahh ça y est, mais je crois que la reconnaissance syntaxique par language ne fonctionne pas très bien.
Modifié par loicbcn (06 Jul 2009 - 22:01)
Salut nakwa, loicbcn,

nakwa a écrit :
J'ai un formulaire quelconque dont je voudrais récupérer les valeurs lors du click sur un input button.
- si tu veux annuler la soumission "naturelle" du formulaire pour pouvoir la gérer toi-même en JS, il faut que ton onclick (qui est une fonction JS déguisée) renvoie false
- il va falloir réviser un peu le B-A-BA du javascript, parce que c'est pas getElementById form1 ça fait rien du tout, essaye plutôt document.getElementById('form1') Smiley cligne

loicbcn a écrit :
avantage [de jQuery], le script se trouve hors du html, pas besoin de mettre un onclick
Ce n'est pas vraiment lié à l'utilisation de jQuery. Tu peux déclarer ton onclick dans le HTML ou dans le code JS, que tu utilises ou non une bibliothèque JS.

a écrit :
je crois que la reconnaissance syntaxique par language ne fonctionne pas très bien
Elle est en développement, patience Smiley smile
merci à vous deux Smiley ravi

a écrit :
- si tu veux annuler la soumission "naturelle" du formulaire pour pouvoir la gérer toi-même en JS, il faut que ton onclick (qui est une fonction JS déguisée) renvoie false


ah oui ça marche mieux Smiley smile

a écrit :
- il va falloir réviser un peu le B-A-BA du javascript, parce que c'est pas getElementById form1 ça fait rien du tout, essaye plutôt document.getElementById('form1') cligne


oui mais non merci Smiley ravi jsuis pas désespéré à ce point là c'est juste que j'ai retapé mon code à l'arrache pour m'expliquer

a écrit :
Une solution assez rapide : jQuery --> avantage, jQuery possède ses propres méthodes ajax.
Autre avantage, le script se trouve hors du html, pas besoin de mettre un onclick.


merci de ta réponse, on parles beaucoup de jquery, mais je rechigne depuis le début de mon projet à utiliser tout framework que se soit, alors je vais pas commencer maintenant après avoir codé une bonne dizaine d'autre fonctionnalité fait maison, alors que j'aurais pu le faire en 3 lignes avec jquery Smiley biggol (http://www.nakwa.com, c'est sans jquery, et c'est 100% ajax -_-')

bref je vais m'en sortir Smiley smile

(sympa la fonctionnalité de coloration syntaxique, même si elle fonctionne pas, ça manquait!)

bonne soirée
Modifié par nakwa (06 Jul 2009 - 22:44)
C'est quoi la reconnaissance syntaxique par language ?

Quelque chose qui évitera de "typer fortement" les balises scripts avec type="text/javascript" par exemple ?
a écrit :
C'est quoi la reconnaissance syntaxique par language ?
On parlait simplement de la coloration syntaxique du forum.
a écrit :
Quelque chose qui évitera de "typer fortement" les balises scripts avec type="text/javascript" par exemple ?
Réjouis-toi, l'attribut est facultatif en HTML5 (lorsque il s'agit de Javascript) Smiley smile