Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/10/2011, 16h15   #1
Membre du Club
 
Homme
Étudiant
Inscription : mars 2011
Messages : 136
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2011
Messages : 136
Points : 51
Points : 51
Par défaut Du html orienté objet

Une petite idée que j'ai eu pour faire passer des objets du php au javascript sans avoir à ecrire du javascript dans mon php avec un echo. J'ai transformé ma balise html en une "pseudo-balise" xml.

Code php :
1
2
3
4
5
6
7
8
9
class monObjet{
  public $id;
  public $foo;
  public $bar;
 
  public function affiche_toi() {
    echo '<div id="'.$this->id.'" foo="'.$this->foo.'" bar="'.$this->bar.'" onclick="monObj.init('.$this->id.')">Mon objet </div>';
  }
}

Code javascript :
1
2
3
4
5
6
7
8
monObj = {
  init: function(id) {
    element = document.getElementById(id);
    monObj.id = element.id;
    monObj.foo = element.foo;
    monObj.bar = element.bar;
  }
}

Est ce qu'il y a une raison pour laquelle cette méthode n'est pas employée du tout (par ex pas supporter par certains navigateur).
ernestrenan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 17h00   #2
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 789
Points : 35 789
Oui, il y en a plusieurs !

* Quel est l'intérêt ?
Je veux dire, si tu veux intégrer du code JavaScript, pourquoi essayer d'utiliser du HTML plutôt que du JavaScript ? Qu'est-ce que tu as a y gagner ?

* Ton code HTML ne sera pas valide et ton code JavaScript "obstrusive".

* Le DOM JavaScript fait un lien direct entre les propriétés usuelles d'une balise HTML et l'objet HTMLElement correspondant. Ce qui veut dire que
Code :
monObj.id = element.id;
fonctionnera : id est un attribut correct, mais en revanche
Code :
monObj.foo = element.foo;
ne fonctionnera pas, même s'il est possible de passer par getAttribute().

* Personnellement, je trouve pas ça très "propre"...
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 17h03   #3
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 040
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 040
Points : 45 141
Points : 45 141
html ou js ???
pour moi ça relève plus de php qu'autre chose
et du coup y'a phpDOM ...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 17h24   #4
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 789
Points : 35 789
Citation:
Envoyé par SpaceFrog
html ou js ???
pour moi ça relève plus de php qu'autre chose
et du coup y'a phpDOM ...
Si j'ai bien tout compris, ce qu'il veut, c'est générer en PHP une balise HTML dont les attribut seront les propriétés de l'objet PHP et dont il se servira pour créer un objet JavaScript... En espérant que l'objet ne possède pas de méthode
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 17h25   #5
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 040
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 040
Points : 45 141
Points : 45 141
ben phpDOm alors
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 17h31   #6
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 789
Points : 35 789
Citation:
Envoyé par SpaceFrog
ben phpDOm alors


Pour créer un objet JavaScript ?
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 19h04   #7
Membre du Club
 
Homme
Étudiant
Inscription : mars 2011
Messages : 136
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2011
Messages : 136
Points : 51
Points : 51
Moi non plus je trouve pas ça propre mais mon problème c'est que j'ai des données stockés sous formes d'arbres je veux l'afficher donc là : php avec une classe Noeud définie récursivement pour générer la vue, puis je veux pouvoir en contrôlant avec la souris "éditer" l'arbre (supprimer un sous arbre, déplacer un sous abre en drag and drop, créer un nouveau noeud) je vois pas d'autre moyen que de passer par javascript mais si je créé un objet "arbre modifiable" pour chacun des sous arbre possibles comme il y a environ 10.000 noeuds je fais complétement péter ie6. D’où mon idée de d'abord créer la page html avec les infos sur les objets Noeud stockés dans les balises pour pouvoir récréer en fonction des besoins de l'utilisateur les arbres nécessaires en javascript.

C'est peut-être complétement tordu mais j'ai jamais fait de javascript de ma vie
ernestrenan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2011, 08h37   #8
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 040
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 040
Points : 45 141
Points : 45 141
là je recommanderais plutot jquery non ?
A moins que vu le nombre de noeud à gerer il soit plus rapide de traiter tout coté serveur.
Mais je persiste à penser que phpDOM est ta planche de salut
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2011, 08h59   #9
Membre habitué
 
Inscription : octobre 2009
Messages : 122
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 122
Points : 116
Points : 116
Pourquoi ne pas créer l'instance de l'objet en même temps que le div ?
bewidia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2011, 10h46   #10
Membre du Club
 
Homme
Étudiant
Inscription : mars 2011
Messages : 136
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2011
Messages : 136
Points : 51
Points : 51
Citation:
Envoyé par SpaceFrog Voir le message
là je recommanderais plutot jquery non ?
A moins que vu le nombre de noeud à gerer il soit plus rapide de traiter tout coté serveur.
Mais je persiste à penser que phpDOM est ta planche de salut
Je connais dejà pas bien javascript alors passer à jquery...
Je vais plancher sur phpDOM.

Citation:
Envoyé par bewidia Voir le message
Pourquoi ne pas créer l'instance de l'objet en même temps que le div ?
Parce que c'est trop lourd de créer des milliers d'objets dont la plupart ne seront pas utilisés
ernestrenan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2011, 11h54   #11
Membre habitué
 
Inscription : octobre 2009
Messages : 122
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 122
Points : 116
Points : 116
tu peux créer alors des éléments formulaire qui contiennent tes valeurs

Code :
1
2
3
4
5
6
7
 
<div id="monDiv" onClick="methode('monDiv');">
<form name="monDiv">
<input type="hidden" name="foo" value="maValeur" />
<input type="hidden" name="bar" value="maValeur" />
</form>
</div>
et la méthode construit ton objet JS en cherchant les valeurs par formulaire / nom de champ
bewidia est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h45.


 
 
 
 
Partenaires

Hébergement Web