Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ 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 16/03/2011, 15h06   #1
Candidat au titre de Membre du Club
 
franco
Inscription : mars 2011
Messages : 199
Détails du profil
Informations personnelles :
Nom : franco

Informations forums :
Inscription : mars 2011
Messages : 199
Points : 11
Points : 11
Par défaut erreur de test avec <span>

salut,

j'ai un problème pour tester un exemple .

pour tester le code je dois mettre en place le fichier .xml

voila un exemple de fichier qui nommée test.xml
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<bds>
 
 
 
 
 
<serie name="Comanche" interest="5">
<bd num="1" title="Red Dust"/>
<bd num="2" title="Les guerriers du désespoir"/>
<bd num="3" title="Les loups de Wyoming"/>
<bd num="4" title="Le ciel est rouge sur Laramie"/>
<bd num="7" title="Le doigt du diable"/>
<bd num="8" title="Les shériffs"/>
<bd num="9" title="Et le diable hurla de joie"/>
</serie>
 
<serie name="Seuls" interest="5">
<bd num="1" title="La Disparition"/>
<bd num="2" title="Le Maître des couteaux"/>
<bd num="3" title="Le Clan du requin"/>
<bd num="4" title="Les Cairns rouges"/>
<bd num="5" title="Au cœur du maelström"/>
</serie>
</bds>
et pour page .xhtml
le code suivant commence de javascript car la partie la plus importante

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<script type="text/javascript">
 
		var DOMXML = null;
 
window.onload = function() {
	DOMImplementation('test.xml', getData);
}
 
 
function getData(oData) {
	DOMXML = oData;
 
 
 
 
 
	var series = oData.getElementsByTagName("serie");
	var sorted = [];
 
	for (var i=0, c=series.length; i<c; i++) {
		sorted.push([series[i].getAttribute("name"), i]);
	}
	sorted.sort();	
 
 
	var list = "<select name=\"serieName\" id=\"serieName\">\n";
	for (var i=0, c=sorted.length; i<c; i++) {
		list += "<option value=\"" + sorted[i][1] + "\">" + sorted[i][0] + "</option>\n";
	}
 
	list += "</select>\n";
 
	document.getElementById("outputListDiv").innerHTML = list;
 
 
 
}
 
 
		</script>
 
 
 
 
 
 
 
 
 
 
 
 
</head>
<body class="containerB">
 
 
 
		<rich:tab label="Home">
		<form id="bdForm" method="get" action="">
		<label for="serieName">Choisir une série : </label>
 
		<div>
		<span id="outputListDiv"><em>Liste des séries non chargée...</em></span>
 
 
		</div>
 
 
 
 
        </rich:tab>
 
 
 
 
</body>
</html>

peut etre je dois mettre la balise de <span entre balise bien spécifique car je travail avec la notion de richfaces



Code :
1
2
3
4
5
1
 
 
 
javax.servlet.ServletException: Error Parsing /exemple.xhtml: Error Traced[line: 37] Element type "c" must be followed by either attribute specifications, ">" or "/>".
et pour la ligne elle est :parmis ces deux lignes :

Code :
1
2
for (var i=0, c=series.length; i<c; i++) {
		sorted.push([series[i].getAttribute("name"), i]);
et si je consulte la console d'erreur de firefox elle m'affiche :

element.dispatcherEvent is not a function


merci d'avance
alen22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2011, 18h55   #2
Candidat au titre de Membre du Club
 
franco
Inscription : mars 2011
Messages : 199
Détails du profil
Informations personnelles :
Nom : franco

Informations forums :
Inscription : mars 2011
Messages : 199
Points : 11
Points : 11
je veux savoir est ce que erreur de code ou de syntaxe

par exemple comment intégrer span avec richfaces
alen22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/03/2011, 09h24   #3
Candidat au titre de Membre du Club
 
franco
Inscription : mars 2011
Messages : 199
Détails du profil
Informations personnelles :
Nom : franco

Informations forums :
Inscription : mars 2011
Messages : 199
Points : 11
Points : 11
je fait un peu de changement au niveau d'une partie de code

et voila le nouveau code

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<script type="text/javascript">
 
		var DOMXML = null;
 
window.onload = function() {
	DOMImplementation('data.xml', getData);
}
 
 
function getData(oData) {
	DOMXML = oData;
 
 
 
 
 
	var series = oData.getElementsByTagName("serie");
	var sorted = [];
 
	for (var i=0, c=series.length; i<c; i++) {
		sorted.push([series[i].getAttribute("name"), i]);
	}
	sorted.sort();	
 
 
	var list = "<select name=\"serieName\" id=\"serieName\">\n";
	for (var i=0, c=sorted.length; i<c; i++) {
		list += "<option value=\"" + sorted[i][1] + "\">" + sorted[i][0] + "</option>\n";
	}
 
	list += "</select>\n";
 
	document.getElementById("outputListDiv").innerHTML = list;
 
 
 
}
 
 
		</script>
 
 
 
 
 
 
 
 
 
 
 
 
</head>
<body>
 
 
 <rich:panel>
			<h:form id="bdForm" method="get" action="">
 
		<label for="serieName">Choisir une série : </label>
 
		<div>
		<span id="outputListDiv"><em>Liste des séries non chargée...</em></span>
 
 
 
		</div>
		</h:form>
 
 
 
          </rich:panel> 
 
 
 
 
 
</body>
</html>
et je travail avec le même fichier .xml qui j'ai déjà vous donner


mais l'erreur est le meme
Code :
javax.servlet.ServletException: Error Parsing /exemple.xhtml: Error Traced[line: 37] Element type "c" must be followed by either attribute specifications, ">" or "/>".
l'erreur concerne exactement cette ligne
Code :
1
2
 
	for (var i=0, c=series.length; i<c; i++) {

merci d'avance
alen22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2011, 21h18   #4
Candidat au titre de Membre du Club
 
franco
Inscription : mars 2011
Messages : 199
Détails du profil
Informations personnelles :
Nom : franco

Informations forums :
Inscription : mars 2011
Messages : 199
Points : 11
Points : 11
j'explique un peu le but final pour mon programme


le code suivant je le test avec des page simple .html

et le but est d'adopter avec des pages web richfaces

voila le code html
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<fieldset>
	<legend>Sélection de la série</legend>
	<form id="bdForm" method="get" action="">
		<div>
			<label for="serieName">Choisir une série : </label>
 
			<!-- On écrira le SELECT dans le SPAN ci-dessous -->
			<span id="outputListDiv"><em>Liste des séries non chargée...</em></span>
		</div>
		<p><input type="button" value="Afficher les BD de cette série" onclick="displayBD();" /></p>
	</form>
</fieldset>
 
<fieldset id="outputBDFieldset">
	<legend>BD en ma possession</legend>
 
	<!-- On écrira la TABLE avec la liste des albums dans le DIV ci-dessous -->
	<div id="outputBDDiv"></div>
</fieldset>
le code javascript
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
var DOMXML = null;
 
window.onload = function() {
	DOMImplementation('data.xml', getData);
}
 
function getData(oData) {
	DOMXML = oData;
 
	var series = oData.getElementsByTagName("serie");
	var sorted = [];
 
	// Classement par ordre alphabétique, via tableau à 2 dimensions
	for (var i=0, c=series.length; i<c; i++) {
		sorted.push([series[i].getAttribute("name"), i]);
	}
	sorted.sort();	
 
	// Génération du SELECT
	var list = "<select name=\"serieName\" id=\"serieName\">\n";
	for (var i=0, c=sorted.length; i<c; i++) {
		list += "<option value=\"" + sorted[i][1] + "\">" + sorted[i][0] + "</option>\n";
	}
 
	list += "</select>\n";
 
	document.getElementById("outputListDiv").innerHTML = list;
}
 
 
function displayBD() {
	// récup' de l'id de la série, écrit dans la VALUE de l'OPTION
	with (document.getElementById("serieName")) var idSerie = parseInt(options[selectedIndex].value); 
 
	var serie = DOMXML.getElementsByTagName("serie")[idSerie];
	var bds   = serie.getElementsByTagName("bd");
 
	// Création de la TABLE avec les résultats
	var table = "<table class=\"sortable\" width=\"100%\">\n";
	table += "<tr><th width=\"20\">N°</th><th>Titre de l'album</th></td>\n";
 
	for (var i=0, c=bds.length; i<c; i++) {
		table += "<tr><td>" + bds[i].getAttribute("num") + "</td><td>" + bds[i].getAttribute("title") + "</td></tr>\n";
	}
 
	table += "</table>\n";
 
	document.getElementById("outputBDDiv").innerHTML = table;
}
et pour le fichier data.xml
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<bds>
 
 
 
 
 
<serie name="Comanche" interest="5">
<bd num="1" title="Red Dust"/>
<bd num="2" title="Les guerriers du désespoir"/>
<bd num="3" title="Les loups de Wyoming"/>
<bd num="4" title="Le ciel est rouge sur Laramie"/>
<bd num="7" title="Le doigt du diable"/>
<bd num="8" title="Les shériffs"/>
<bd num="9" title="Et le diable hurla de joie"/>
</serie>
 
<serie name="Seuls" interest="5">
<bd num="1" title="La Disparition"/>
<bd num="2" title="Le Maître des couteaux"/>
<bd num="3" title="Le Clan du requin"/>
<bd num="4" title="Les Cairns rouges"/>
<bd num="5" title="Au cœur du maelström"/>
</serie>
</bds>
si vous tester ce code il affiche en premier lieu les différents noms de série

et après a chaque sélection de nom de série il affiche les différents titres de bd


mais pour le moment je veux l'adopter cette solution comme je dis je travail avec richfaces


en premier lieu je dois créer le bean


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public class Recuperation
{
private int Episodes;
public int getEpisodes()
{
return Episodes;
}
 
public void setEpisodes(int Episodes)
{
this.Episodes=Episodes;
}
private SelectItem[] selectItem[];
 public SelectItem[] getListEpisodes(){
 SAXBuilder sxb = new SAXBuilder();
    document = sxb.build(new File("data.xml"));
      racine = document.getRootElement();
    Listbds = racine.getChildren("serie");
    Iterator i = listbds.iterator();
   while(i.hasNext()){
      Element courant = (Element)i.next();
 
 
selectItem[]= new SelectItem[]{
        new SelectItem(courant.getChild("name").getValue())
 
     }
return selectItem[];
}
 }
et pour la page web avec rihfaces

Code :
1
2
3
4
5
<h:form>
 <h:selectOneMenu value="#{Recuperation.Episodes}">
  <f:selectItems value="#{Recuperation.listEpisodes}"/>
 </h:selectOneMenu>
</h:form
je pense franchement que le code de la class Recuperation est erroné car je dois remplir le tableau au fur et à mesure dans la boucle, pas l'effacer à chaque fois




j'espère que a ce moment vous avez comme même une idée sur l'objectif final de l'affichage de la page web



merci d'avance
alen22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2011, 11h52   #5
Candidat au titre de Membre du Club
 
franco
Inscription : mars 2011
Messages : 199
Détails du profil
Informations personnelles :
Nom : franco

Informations forums :
Inscription : mars 2011
Messages : 199
Points : 11
Points : 11
je veux savoir est ce que possible d'adopter le travail réalisé avec des pages simples en html avec richfaces et bean
alen22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2011, 12h09   #6
Membre expérimenté
 
Avatar de nadox
 
Homme
Développeur
Inscription : février 2010
Messages : 360
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : Développeur
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2010
Messages : 360
Points : 545
Points : 545
Bonjour,

C'est assez sympa de nous faire part de ton travail de façon quasi-quotidienne !
Par contre pour tes problèmes, je pencherais pour un sacré manque de rigueur dans l'écriture de ton code. L'indentation sert bien à quelque chose, une accolade ouvrante ne doit-elle pas se fermer au bon endroit? La boucle for utilise ',' ou ';' ?

Pour répondre à ta dernière question : Tout est possible !

Je tiens à préciser que je ne connais pas richfaces, mais la lecture de ton code me permet déjà de dire que ça ne fonctionnera probablement pas comme tu t'y attends...
nadox est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2011, 12h36   #7
Candidat au titre de Membre du Club
 
franco
Inscription : mars 2011
Messages : 199
Détails du profil
Informations personnelles :
Nom : franco

Informations forums :
Inscription : mars 2011
Messages : 199
Points : 11
Points : 11
merci pour la réponse

bien sur tout a une signification en java et encore désolé pour mes fautes

mais tous mon programme est autour de cette class java c'est pour cela j'insiste un peu pour que quelqu'un pourra m'aidez et désole encore un fois

la nouvelle version de code avec quelque correction bien sur il y'a d'autre erreur

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
public class Recuperation
{
private int Episodes;
public int getEpisodes()
{
return Episodes;
}
 
public void setEpisodes(int Episodes)
{
this.Episodes=Episodes;
}
private SelectItem[] selectItem[];
 public SelectItem[] getListEpisodes(){
 SAXBuilder sxb = new SAXBuilder();
    document = sxb.build(new File("data.xml"));
      racine = document.getRootElement();
    Listbds = racine.getChildren("serie");
    Iterator i = listbds.iterator();
   while(i.hasNext()){
      Element courant = (Element)i.next();
 
 
selectItem[]= new SelectItem[]{
        new SelectItem(courant.getChild("name").getValue());
 
     }
}
return selectItem[];
}
 }
franchement cet methodes
Code :
public SelectItem[] getListEpisodes(){...
j'ai l'appris comme réponse de ce forum c'est pour cela je travail avec elle
le code qui j'ai reçu comme réponse

la bean est :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private int episode;
//+getters/setters à ajouter ;)
public SelectItem[] getListEpisodes(){
     // parser le xml, la db ou ce que vous voulez pour générer
     // la liste d"objets SelectItem, exemple statique
     return new SelectItem[]{
        new SelectItem(1,"Red Dust"),
        new SelectItem(2, "Les guerriers du désespoir"),
        new SelectItem(3, "Les loups de Wyoming"),
        new SelectItem(4, "Le ciel est rouge sur Laramie"),
        new SelectItem(7, "Le doigt du diable"),
        new SelectItem(8, "Les shériffs"),
        new SelectItem(9, "Et le diable hurla de joie")
     }
}
mais aussi je n'arrive pas a comprendre ce type
alen22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2011, 13h09   #8
Membre expérimenté
 
Avatar de nadox
 
Homme
Développeur
Inscription : février 2010
Messages : 360
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : Développeur
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2010
Messages : 360
Points : 545
Points : 545
Je parlais d'indentation parce que cela permet de voir que la boucle while fait un return à chaque tour.... le return devrais surement être après l'accolade fermante du while ?

De même une boucle for (ton premier post) s'utilise comme ceci
for(affectation;condition;iteration)
et non pas comme ceci
for(affectation,condition;iteration)

...........

Pour comprendre/modifier un exemple tout fait, il faut déjà comprendre ce qu'est un language de programmation et surtout comment il s'utilise ?

'selectItem[]' est un tableau de 'selectItem'...
nadox est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2011, 14h26   #9
Candidat au titre de Membre du Club
 
franco
Inscription : mars 2011
Messages : 199
Détails du profil
Informations personnelles :
Nom : franco

Informations forums :
Inscription : mars 2011
Messages : 199
Points : 11
Points : 11
je ne sais pas est ce que j'ai le droit de demander comme ca

le but final je pense est claire : dans la liste déroulante de la page web

Code :
1
2
3
 
 
<f:selectItems value="#{Recuperation.listEpisodes}"/>
elle affiche " les noms de serie "récupéré de la page data.xml

j'espere que vous pouvez m'aidez à corriger la class Recuperation
alen22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2011, 14h44   #10
Membre expérimenté
 
Avatar de nadox
 
Homme
Développeur
Inscription : février 2010
Messages : 360
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : Développeur
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2010
Messages : 360
Points : 545
Points : 545
J'ai bien compris ce que c'est censé faire. Mais l'as tu compris toi ?
Code :
1
2
3
4
5
6
7
 
for (i=0;i<nombre_de_mes_erreurs;i++){
    Quel est l'erreur ?
    Toujours la même ?
    Que dit-elle ?
    Comment la corriger ?
}
Lorsqu'on programme, on passe le plus clair de son temps à se poser des questions... si possible dans le bon ordre !
nadox est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2011, 15h02   #11
Candidat au titre de Membre du Club
 
franco
Inscription : mars 2011
Messages : 199
Détails du profil
Informations personnelles :
Nom : franco

Informations forums :
Inscription : mars 2011
Messages : 199
Points : 11
Points : 11
vous avez raison. j'essaye de la corrigez. mais le problème est problème de temps. car tous ca est considéré comme une tache des le programme principale mais la base de suite est base sur cette class Recuperation
alen22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2011, 15h10   #12
Membre expérimenté
 
Avatar de nadox
 
Homme
Développeur
Inscription : février 2010
Messages : 360
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : Développeur
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2010
Messages : 360
Points : 545
Points : 545
Tu n'as pas le temps de comprendre ce que tu fais alors tu y vas au hasard ?
Désolé je ne joue pas au loto...
nadox 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 19h06.


 
 
 
 
Partenaires

Hébergement Web