IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

checkboxes et objet javascript


Sujet :

JavaScript

  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    2
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2012
    Messages : 2
    Par d�faut checkboxes et objet javascript
    Bonjour � tous,

    J'ai un formulaire avec des checkboxes

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    ...
    <input type="checkbox" value="1" name="blocs_id[]">
    <input type="checkbox" value="2" name="blocs_id[]">
    <input type="checkbox" value="3" name="blocs_id[]">
    ...
    Je r�cup�re l'ensemble du formulaire avec
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    var mon_contenu_form = $("#mon_form").serializeArray();
    // qui donne
    mon_contenu_form = [{name:'input_name', value:'input_value'}, ...]
    Mais, je dois au final avoir un objet avec cette structure pour transf�rer vers le backend:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    obj['input_name'] = input['input_value']
    Donc je tente ceci
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    var datas = Object();
    for(var i in mon_contenu_form)
    {			
    	var key = mon_contenu_form[i].name;
    	datas[key] = mon_contenu_form[i].value;
    }
    Ce qui marche tr�s bien pour tous les �l�ments du formulaire sauf pour les checkboxes qui sont sens�es �tre regroup�es dans un objet. Les variables des cb s'�crasent sur elles m�mes
    Ce qui donne:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    mon_contenu_form['blocs_id[]'] = 3

    Hors je veux ceci
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    mon_contenu_form['blocs_id'] = [1,2,...]
    Quelqu'un aurait-il une id�e de comment r�aliser cela?
    Merci d'avance

  2. #2
    Membre exp�riment� Avatar de MaitreKaio
    Profil pro
    Freelance Java / Web / Mobile
    Inscrit en
    Juin 2007
    Messages
    140
    D�tails du profil
    Informations personnelles :
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Freelance Java / Web / Mobile
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Juin 2007
    Messages : 140
    Par d�faut
    My 2 cents: pourquoi ne pas utiliser l'attribut id en lieu et place de name.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    18
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 18
    Par d�faut
    Citation Envoy� par MaitreKaio Voir le message
    My 2 cents: pourquoi ne pas utiliser l'attribut id en lieu et place de name.
    Parce que les valeurs ne seront pas envoy�es lors de la soumission du formulaire si les name ne sont pas existants.

    Concernant le probl�me initial, sans parler du var datas = Object() qui ne veut rien dire (on utilise en g�n�ral var datas = {}), c'est tout � fait normal que les valeurs s'ajoutent, elles ont le m�me name ! Les tableaux n'existent pas dans les attributs HTML. HTML est un langage de markup, pas de programmation

    Dans ton cas, il est mieux que chaque input ait un name unique.

    Je changerais �galement la partie backend afin qu'elle marche m�me si javascript n'est pas activ�, c'est-�-dire qu'elle fonctionne avec les valeurs retourn�es par $.serializeArray.

    Pourquoi ? Parce que le site doit marcher m�me si javascript n'est pas activ�.

  4. #4
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    2
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2012
    Messages : 2
    Par d�faut
    Salut

    Citation Envoy� par F.Margaine Voir le message
    Parce que les valeurs ne seront pas envoy�es lors de la soumission du formulaire si les name ne sont pas existants.
    Exact

    Citation Envoy� par F.Margaine Voir le message
    Concernant le probl�me initial, sans parler du var datas = Object() qui ne veut rien dire (on utilise en g�n�ral var datas = {})
    Bin Object = {} c'est juste une fa�on de le marquer. G�n�ralement j'utilise aussi {}


    Citation Envoy� par F.Margaine Voir le message
    Dans ton cas, il est mieux que chaque input ait un name unique.
    Pas bien, mon programmeur backend veux du []. Je vais pas me battre avec lui

    Citation Envoy� par F.Margaine Voir le message
    Je changerais �galement la partie backend afin qu'elle marche m�me si javascript n'est pas activ�, c'est-�-dire qu'elle fonctionne avec les valeurs retourn�es par $.serializeArray.
    Pourquoi ? Parce que le site doit marcher m�me si javascript n'est pas activ�.
    Dans un monde id�al oui... mais pas de javascript pas de site dans mon cas.

    Pour la solution, la voici:
    J'ai fait �a:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    $.each(dataForm, function()
    {
    	if (datas[this.name])
    	{
    		if (!datas[this.name].push)
    		{
    			datas[this.name] = [datas[this.name]];
    		}
    		datas[this.name].push(this.value || '');
    	}
    	else
    	{
    		datas[this.name] = this.value || '';
    	}
    });
    Ou directement utiliser le plugin pr�vu � cet effet http://css-tricks.com/snippets/jquer...-form-to-json/

    voilou

Discussions similaires

  1. [POO] Fonction Affichage OBjet Javascript!
    Par lekunfry dans le forum G�n�ral JavaScript
    R�ponses: 14
    Dernier message: 20/07/2007, 06h28
  2. [POO] ref�rence � un objet javascript
    Par Giansolo dans le forum G�n�ral JavaScript
    R�ponses: 5
    Dernier message: 08/05/2007, 09h53
  3. [POO] contenu d'un objet javascript
    Par wtfu dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 10/08/2006, 11h12
  4. [POO] Comment acceder a un objet javascript instancie dans une page mere
    Par herbert dans le forum G�n�ral JavaScript
    R�ponses: 11
    Dernier message: 20/07/2006, 19h34
  5. [POO] objet javascript et html
    Par jakouz dans le forum G�n�ral JavaScript
    R�ponses: 7
    Dernier message: 20/04/2006, 17h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo