Formulaire again

Bonsoir
Cela fait deux jours que je suis sur le même problème.

J'ai ce code:
<form method="post" name="scores">
<select name="choix" onChange=verif()>
<option value="black">Noir</option>
<option value="white">Blanc</option>
<option selected="selected" value="yellow">Jaune</option>
<option value="blue">Bleu</option>
<option value="red">Rouge</option>
</select>

<script type="text/javascript">
function verif() {
  for(i=0;i<document.scores.choix.length;++i)
   if(document.scores.choix.options[i].selected == true)
    document.scores.choix.options[i].value;
}
</script>
</form>

Le résultat me donne un alert mais je n'en ai que faire puisque je veux récupérer le résultat pour cette ligne:
<td class="news_textesmall" style="background-color:#ENV{choix}" id="case_lng">L.&nbsp;(m)</td>

Je n'obtiens rien... sauf si je mets onchange= submit() à la place de onchange=verif()

Mais le submit me recharge toute la page, ce que je ne veux pas non plus.
J'ai essayé d'inclure le formulaire dans une div ajax, mais rien de changé....

Une idée ou un conseil. J'en perds mon latin (de cuisine)
Merci
ADB

Bonjour,

Le 16/05/2010 04:17, ADB a écrit :

J'ai ce code:
<form method="post" name="scores">
<select name="choix" onChange=verif()>
<option value="black">Noir</option>
<option value="white">Blanc</option>
<option selected="selected" value="yellow">Jaune</option>
<option value="blue">Bleu</option>
<option value="red">Rouge</option>
</select>
<script type="text/javascript">
function verif() {
for(i=0;i<document.scores.choix.length;++i)
  if(document.scores.choix.options[i].selected == true)
   document.scores.choix.options[i].value;
}
</script>
</form>
Le résultat me donne un alert mais je n'en ai que faire puisque je veux récupérer le résultat pour cette ligne:
<td class="news_textesmall" style="background-color:#ENV{choix}" id="case_lng">L.&nbsp;(m)</td>
Je n'obtiens rien... sauf si je mets onchange= submit() à la place de onchange=verif()
Mais le submit me recharge toute la page, ce que je ne veux pas non plus.
J'ai essayé d'inclure le formulaire dans une div ajax, mais rien de changé....
Une idée ou un conseil. J'en perds mon latin (de cuisine)

Si j'ai bien compris, le principe est de changer la couleur de fond d'une case quand on sélectionne une couleur dans le formulaire :
<select name="choix" id="choix" onChange="change_couleur_fond()">
<script type="text/javascript">
function change_couleur_fond() {
     box = document.getElementById('choix') ;
     destination = box.options[box.selectedIndex].value ;
     if (destination) {
         document.getElementById('case_lng').style.backgroundColor = destination ;
     }
}
</script>
<noscript><input type="submit" name="btnG" value="Changer couleur"></noscript>

avec un bouton dans un noscript pour ceux qui naviguent avec javascript désactivé puissent avoir accès à la fonctionnalité...

Sylvain

Bonjour
C'est super, ça marche et je progresse.
Toutefois, seule une case voit sa couleur modifiée. Pourquoi?

Par ailleurs, le changement de couleur n'est pas mon unique but, mais également le changement de la valeur du champ dans cette ligne (parmi d'autres):

<-- cette case change de couleur -->
<td class="news_textesmall case_titreblanc" id="case_lng">L.&nbsp;(m)</td>
<-- cette case ne change pas de couleur, et je voudrais que le #L_R2_T_1 puissse se transformer en L_Rn_T1 (n = de 1 à 18)
<td class="news_textesmall case_titreblanc" id="case_lng">#L_R2_T_1</td>

Pour mieux comprendre, voir page:http://www.francegolf.fr/SPIP/?page=article-golf&id_article=00913

Merci
ADB

Le 16/05/2010 14:02, Sylvain a écrit :

Bonjour,

Le 16/05/2010 04:17, ADB a écrit :

J'ai ce code:
<form method="post" name="scores">
<select name="choix" onChange=verif()>
<option value="black">Noir</option>
<option value="white">Blanc</option>
<option selected="selected" value="yellow">Jaune</option>
<option value="blue">Bleu</option>
<option value="red">Rouge</option>
</select>
<script type="text/javascript">
function verif() {
for(i=0;i<document.scores.choix.length;++i)
  if(document.scores.choix.options[i].selected == true)
   document.scores.choix.options[i].value;
}
</script>
</form>
Le résultat me donne un alert mais je n'en ai que faire puisque je veux récupérer le résultat pour cette ligne:
<td class="news_textesmall" style="background-color:#ENV{choix}" id="case_lng">L.&nbsp;(m)</td>
Je n'obtiens rien... sauf si je mets onchange= submit() à la place de onchange=verif()
Mais le submit me recharge toute la page, ce que je ne veux pas non plus.
J'ai essayé d'inclure le formulaire dans une div ajax, mais rien de changé....
Une idée ou un conseil. J'en perds mon latin (de cuisine)

Si j'ai bien compris, le principe est de changer la couleur de fond d'une case quand on sélectionne une couleur dans le formulaire :
<select name="choix" id="choix" onChange="change_couleur_fond()">
<script type="text/javascript">
function change_couleur_fond() {
    box = document.getElementById('choix') ;
    destination = box.options[box.selectedIndex].value ;
    if (destination) {
        document.getElementById('case_lng').style.backgroundColor = destination ;
    }
}
</script>
<noscript><input type="submit" name="btnG" value="Changer couleur"></noscript>

avec un bouton dans un noscript pour ceux qui naviguent avec javascript désactivé puissent avoir accès à la fonctionnalité...

Sylvain
_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

Je me réponds à moi-même, mais sans solution qui fonctionne...

J'ai donc ceci:
<form method="post" name="scores">
<select name="choix" id="choix" onChange="change_couleur_fond()">
<option value="black">Noir</option>
<option value="white">Blanc</option>
</select>
</form>
<script type="text/javascript">
function change_couleur_fond() {
     box = document.getElementById('choix') ;
     destination = box.options[box.selectedIndex].value ;
         if (destination) {
         document.getElementById('case_lng').style.backgroundColor = destination ;
     }
}
</script>
<noscript><input type="submit" name="btnG" value="Changer couleur"></noscript>

pour modifier ces lignes:

<td class="news_textesmall case_titreblanc" id="case_lng">L.&nbsp;(m)</td>
<td class="news_textesmall case_titreblanc" id="case_lng">#L_R2_T_1</td>

Si je modifie value=black par value=1 je peux attribuer à la valeur 1 le texte black pour la couleur et indiquer quelque chose comme #L_R"value"_T_1 pour modifier la valeur de R.

Mais ceci doit s'appliquer à tous les case_lng de mon tableau.

Comment faire?
je pense à un for correspondant au nombre de cases.

Mais je ne sais écrire rien de tout cela.
De plus après, je voudrais reproduire ce qui se trouve ici (j'ai le code js et html mais je ne parviens pas à le décortiquer, étant en limite de compétences).

Merci de votre aide
ADB

Le 16/05/2010 16:12, ADB a écrit :

Bonjour
C'est super, ça marche et je progresse.
Toutefois, seule une case voit sa couleur modifiée. Pourquoi?

Par ailleurs, le changement de couleur n'est pas mon unique but, mais également le changement de la valeur du champ dans cette ligne (parmi d'autres):

<-- cette case change de couleur -->
<td class="news_textesmall case_titreblanc" id="case_lng">L.&nbsp;(m)</td>
<-- cette case ne change pas de couleur, et je voudrais que le #L_R2_T_1 puissse se transformer en L_Rn_T1 (n = de 1 à 18)
<td class="news_textesmall case_titreblanc" id="case_lng">#L_R2_T_1</td>

Pour mieux comprendre, voir page:http://www.francegolf.fr/SPIP/?page=article-golf&id_article=00913

Merci
ADB

Le 16/05/2010 14:02, Sylvain a écrit :

Bonjour,

Le 16/05/2010 04:17, ADB a écrit :

J'ai ce code:
<form method="post" name="scores">
<select name="choix" onChange=verif()>
<option value="black">Noir</option>
<option value="white">Blanc</option>
<option selected="selected" value="yellow">Jaune</option>
<option value="blue">Bleu</option>
<option value="red">Rouge</option>
</select>
<script type="text/javascript">
function verif() {
for(i=0;i<document.scores.choix.length;++i)
  if(document.scores.choix.options[i].selected == true)
   document.scores.choix.options[i].value;
}
</script>
</form>
Le résultat me donne un alert mais je n'en ai que faire puisque je veux récupérer le résultat pour cette ligne:
<td class="news_textesmall" style="background-color:#ENV{choix}" id="case_lng">L.&nbsp;(m)</td>
Je n'obtiens rien... sauf si je mets onchange= submit() à la place de onchange=verif()
Mais le submit me recharge toute la page, ce que je ne veux pas non plus.
J'ai essayé d'inclure le formulaire dans une div ajax, mais rien de changé....
Une idée ou un conseil. J'en perds mon latin (de cuisine)

Si j'ai bien compris, le principe est de changer la couleur de fond d'une case quand on sélectionne une couleur dans le formulaire :
<select name="choix" id="choix" onChange="change_couleur_fond()">
<script type="text/javascript">
function change_couleur_fond() {
    box = document.getElementById('choix') ;
    destination = box.options[box.selectedIndex].value ;
    if (destination) {
        document.getElementById('case_lng').style.backgroundColor = destination ;
    }
}
</script>
<noscript><input type="submit" name="btnG" value="Changer couleur"></noscript>

avec un bouton dans un noscript pour ceux qui naviguent avec javascript désactivé puissent avoir accès à la fonctionnalité...

Sylvain
_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

... ici étant:
http://www.francegolf.fr/fichegolf-00913-009131-carte-golf-alsace-golf-club.htm#parcours

ADB

Le 16/05/2010 16:32, ADB a écrit :

Je me réponds à moi-même, mais sans solution qui fonctionne...

J'ai donc ceci:
<form method="post" name="scores">
<select name="choix" id="choix" onChange="change_couleur_fond()">
<option value="black">Noir</option>
<option value="white">Blanc</option>
</select>
</form>
<script type="text/javascript">
function change_couleur_fond() {
    box = document.getElementById('choix') ;
    destination = box.options[box.selectedIndex].value ;
        if (destination) {
        document.getElementById('case_lng').style.backgroundColor = destination ;
    }
}
</script>
<noscript><input type="submit" name="btnG" value="Changer couleur"></noscript>

pour modifier ces lignes:

<td class="news_textesmall case_titreblanc" id="case_lng">L.&nbsp;(m)</td>
<td class="news_textesmall case_titreblanc" id="case_lng">#L_R2_T_1</td>

Si je modifie value=black par value=1 je peux attribuer à la valeur 1 le texte black pour la couleur et indiquer quelque chose comme #L_R"value"_T_1 pour modifier la valeur de R.

Mais ceci doit s'appliquer à tous les case_lng de mon tableau.

Comment faire?
je pense à un for correspondant au nombre de cases.

Mais je ne sais écrire rien de tout cela.
De plus après, je voudrais reproduire ce qui se trouve ici (j'ai le code js et html mais je ne parviens pas à le décortiquer, étant en limite de compétences).

Merci de votre aide
ADB

Le 16/05/2010 16:12, ADB a écrit :

Bonjour
C'est super, ça marche et je progresse.
Toutefois, seule une case voit sa couleur modifiée. Pourquoi?

Par ailleurs, le changement de couleur n'est pas mon unique but, mais également le changement de la valeur du champ dans cette ligne (parmi d'autres):

<-- cette case change de couleur -->
<td class="news_textesmall case_titreblanc" id="case_lng">L.&nbsp;(m)</td>
<-- cette case ne change pas de couleur, et je voudrais que le #L_R2_T_1 puissse se transformer en L_Rn_T1 (n = de 1 à 18)
<td class="news_textesmall case_titreblanc" id="case_lng">#L_R2_T_1</td>

Pour mieux comprendre, voir page:http://www.francegolf.fr/SPIP/?page=article-golf&id_article=00913

Merci
ADB

Le 16/05/2010 14:02, Sylvain a écrit :

Bonjour,

Le 16/05/2010 04:17, ADB a écrit :

J'ai ce code:
<form method="post" name="scores">
<select name="choix" onChange=verif()>
<option value="black">Noir</option>
<option value="white">Blanc</option>
<option selected="selected" value="yellow">Jaune</option>
<option value="blue">Bleu</option>
<option value="red">Rouge</option>
</select>
<script type="text/javascript">
function verif() {
for(i=0;i<document.scores.choix.length;++i)
  if(document.scores.choix.options[i].selected == true)
   document.scores.choix.options[i].value;
}
</script>
</form>
Le résultat me donne un alert mais je n'en ai que faire puisque je veux récupérer le résultat pour cette ligne:
<td class="news_textesmall" style="background-color:#ENV{choix}" id="case_lng">L.&nbsp;(m)</td>
Je n'obtiens rien... sauf si je mets onchange= submit() à la place de onchange=verif()
Mais le submit me recharge toute la page, ce que je ne veux pas non plus.
J'ai essayé d'inclure le formulaire dans une div ajax, mais rien de changé....
Une idée ou un conseil. J'en perds mon latin (de cuisine)

Si j'ai bien compris, le principe est de changer la couleur de fond d'une case quand on sélectionne une couleur dans le formulaire :
<select name="choix" id="choix" onChange="change_couleur_fond()">
<script type="text/javascript">
function change_couleur_fond() {
    box = document.getElementById('choix') ;
    destination = box.options[box.selectedIndex].value ;
    if (destination) {
        document.getElementById('case_lng').style.backgroundColor = destination ;
    }
}
</script>
<noscript><input type="submit" name="btnG" value="Changer couleur"></noscript>

avec un bouton dans un noscript pour ceux qui naviguent avec javascript désactivé puissent avoir accès à la fonctionnalité...

Sylvain
_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

Le 16/05/2010 16:12, ADB a écrit :

Bonjour
C'est super, ça marche et je progresse.
Toutefois, seule une case voit sa couleur modifiée. Pourquoi?

Je pense que le DOM ne prend que la première case qui a cet id.
Rappel : il ne peut y avoir qu'un élément html par id...
Il faut donc plutôt viser les cases par leur class, notamment avec jquery, qui permet de faire ça facilement.

Par ailleurs, le changement de couleur n'est pas mon unique but, mais également le changement de la valeur du champ dans cette ligne (parmi d'autres):

Et la nouvelle valeur à attribuer vient d'où ? de la base de données ?
Si oui, il faut faire en ajax : voir jquery...
Si non, voir du côté de jquery aussi :
en anglais : http://jquery.com/
en français : http://www.jquery.info/

Sylvain

Bonsoir
Bon, le script s'enrichit d'heure en heure.... pour devenir ceci:

<script type="text/javascript">
function change_couleur_fond() {
     box = document.getElementById('choix') ;
     destination = box.options[box.selectedIndex].value ;
trou = box.options[box.selectedIndex].value ;

         switch(destination) {
     case '1' :
         destination = 'black';
         break;
     case '2' :
         destination = 'white';
         break;
     case '3' :
         destination = 'yellow';
         break;
     case '4' :
         destination = 'blue';
         break;
     case '5' :
         destination = 'red';
         break;
     default:
     }

         if (destination == 'white' || destination == 'yellow') {
         document.getElementById('case_lng').style.backgroundColor = destination ;
         document.getElementById('case_lng').style.color = 'black' ;
          }
     else {
         document.getElementById('case_lng').style.backgroundColor = destination ;
         document.getElementById('case_lng').style.color = 'white' ;
        }
}
</script>

Je voudrais alors utiliser la variable trou dans l'appel du champ SPIP #L_R(trou)

J'ai essayé de faire afficher le tableau par le script (par echo) mais ça ne donne rien.

Comment faire
ADB

Le 16/05/2010 16:32, ADB a écrit :

Je me réponds à moi-même, mais sans solution qui fonctionne...
J'ai donc ceci:
<form method="post" name="scores">
<select name="choix" id="choix" onChange="change_couleur_fond()">
<option value="black">Noir</option>
<option value="white">Blanc</option>
</select>
</form>
<script type="text/javascript">
function change_couleur_fond() {
    box = document.getElementById('choix') ;
    destination = box.options[box.selectedIndex].value ;
        if (destination) {
        document.getElementById('case_lng').style.backgroundColor = destination ;
    }
}
</script>
<noscript><input type="submit" name="btnG" value="Changer couleur"></noscript>
pour modifier ces lignes:
<td class="news_textesmall case_titreblanc" id="case_lng">L.&nbsp;(m)</td>
<td class="news_textesmall case_titreblanc" id="case_lng">#L_R2_T_1</td>
Si je modifie value=black par value=1 je peux attribuer à la valeur 1 le texte black pour la couleur et indiquer quelque chose comme #L_R"value"_T_1 pour modifier la valeur de R.
Mais ceci doit s'appliquer à tous les case_lng de mon tableau.
Comment faire?
je pense à un for correspondant au nombre de cases.

Avec la fonction length, on peut trouver le nombre d'élément d'un élément en javascript.

Mais je ne sais écrire rien de tout cela.
De plus après, je voudrais reproduire ce qui se trouve ici (j'ai le code js et html mais je ne parviens pas à le décortiquer, étant en limite de compétences).

Explication de la fonction :
// Déclaration de la fonction :
function change_couleur_fond() {
//Déclaration d'une variable pointant vers un élément html "attrapé" par son id
     box = document.getElementById('choix') ;
// Déclaration d'une variable égale à la valeur de l'option sélectionnée dans la variable (select) déclarée au-dessus
     destination = box.options[box.selectedIndex].value ;
// Test : si la variable destination existe
     if (destination) {
// On donne comme valeur "destination" au style css "background-color" de l'élément dont l'id est case_lng
         document.getElementById('case_lng').style.backgroundColor = destination ;
     }
}

Sylvain

Oups, déjà que j'ai du mal avec javascript...

La valeur à attribuer dépend de la couleur. Quelque chose comme:
     trou = box.options[box.selectedIndex].value ;

Je voudrais que cette valeur (1, 2 ou 3) vienne modifier le "nom" du champ spip appelé.
Exemple: mon champ est #L_R2 pour le jaune.
Si je passe en noir, je veux qu'il s'appelle #L_R1

Quant à la couleur sur toutes les cases, j'ai résolu le pb en attribuant le style au tr et pas au td du tableau

Merci de ta patience
ADB

Le 16/05/2010 18:47, Sylvain a écrit :

Le 16/05/2010 16:12, ADB a écrit :

Bonjour
C'est super, ça marche et je progresse.
Toutefois, seule une case voit sa couleur modifiée. Pourquoi?

Je pense que le DOM ne prend que la première case qui a cet id.
Rappel : il ne peut y avoir qu'un élément html par id...
Il faut donc plutôt viser les cases par leur class, notamment avec jquery, qui permet de faire ça facilement.

Par ailleurs, le changement de couleur n'est pas mon unique but, mais également le changement de la valeur du champ dans cette ligne (parmi d'autres):

Et la nouvelle valeur à attribuer vient d'où ? de la base de données ?
Si oui, il faut faire en ajax : voir jquery...
Si non, voir du côté de jquery aussi :
en anglais : http://jquery.com/
en français : http://www.jquery.info/

Sylvain
_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

Le 16/05/2010 19:18, ADB a écrit :

Oups, déjà que j'ai du mal avec javascript...

T'inquiète, ça rentre petit à petit...

La valeur à attribuer dépend de la couleur. Quelque chose comme:
    trou = box.options[box.selectedIndex].value ;
Je voudrais que cette valeur (1, 2 ou 3) vienne modifier le "nom" du champ spip appelé.
Exemple: mon champ est #L_R2 pour le jaune.
Si je passe en noir, je veux qu'il s'appelle #L_R1

Hum, donc ce qui doit s'afficher vient d'où ? De la base de données via une boucle spip ?
Je ne comprends pas à quoi correspond #L_R1 ou 2 ?
Ne pas oublier que le javascript est interprété côté client, alors que les boucles le sont côté serveur. Donc si on veut récupérer quelque chose d'une boucle, soit on recharge une page soit on passe en ajax.

Quant à la couleur sur toutes les cases, j'ai résolu le pb en attribuant le style au tr et pas au td du tableau

Quand on cherche... :wink:

Sylvain

Bonjour
Oui, c'est cela. #L_Rn vient d'une table via une boucle.

Quant à ajax ou jquery (semblable, non?), je ne vois pas du tout comment l'utiliser ici.
Merci
ADB

Le 16/05/2010 23:08, Sylvain a écrit :

Le 16/05/2010 19:18, ADB a écrit :

Oups, déjà que j'ai du mal avec javascript...

T'inquiète, ça rentre petit à petit...

La valeur à attribuer dépend de la couleur. Quelque chose comme:
    trou = box.options[box.selectedIndex].value ;
Je voudrais que cette valeur (1, 2 ou 3) vienne modifier le "nom" du champ spip appelé.
Exemple: mon champ est #L_R2 pour le jaune.
Si je passe en noir, je veux qu'il s'appelle #L_R1

Hum, donc ce qui doit s'afficher vient d'où ? De la base de données via une boucle spip ?
Je ne comprends pas à quoi correspond #L_R1 ou 2 ?
Ne pas oublier que le javascript est interprété côté client, alors que les boucles le sont côté serveur. Donc si on veut récupérer quelque chose d'une boucle, soit on recharge une page soit on passe en ajax.

Quant à la couleur sur toutes les cases, j'ai résolu le pb en attribuant le style au tr et pas au td du tableau

Quand on cherche... :wink:

Sylvain
_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

Bonjour,

Le 17/05/2010 09:10, ADB a écrit :

Bonjour
Oui, c'est cela. #L_Rn vient d'une table via une boucle.

Alors il faut "ajaxiser" la boucle : lire ici pour des explications :

Quant à ajax ou jquery (semblable, non?

Non, pas du tout, ajax est un principe (Asynchronous_JavaScript_and_XML : Ajax (informatique) — Wikipédia), alors que jquery est une bibliothèque javascript permettant de faciliter (normalement...) l'utilisation de javascript, par exemple pour l'ajax.

Sauf qu'il ne fonctionne que pour 1 élément alors que je peux en avoir plusieurs, comme ici:
http://www.francegolf.fr/SPIP/?page=article-golf&id_article=00128
Comment faire pour que la fonction javascript s'applique à plusieurs résultats de formulaire? Sortir la fonction de la boucle?
   

Oui, pour commencer.
Ensuite, il faut adapter la fonction pour qu'elle modifie ce que tu veux modifier, par exemple en lui passant des paramètres, genre les id des éléments qu'elle doit modifier...etc.

Sylvain

Bonjour

Le 17/05/2010 21:24, Sylvain a écrit :

Oui, c'est cela. #L_Rn vient d'une table via une boucle.

Bonjour
Alors il faut "ajaxiser" la boucle : lire ici pour des explications :
`{ajax}` pour les `inclure` - SPIP

Je n'ai rien pigé à cetarticle. Surtout le a href... Puisque je n'appelle pas une page url.
J'ai essayé, mais je ne parviens pas à passerles variables dans le fichier appelé.
Bref, j'ai abandonné (pour l'instant) le côté formulaire.

Quant à ajax ou jquery (semblable, non?

Non, pas du tout, ajax est un principe (Asynchronous_JavaScript_and_XML : Ajax (informatique) — Wikipédia), alors que jquery est une bibliothèque javascript permettant de faciliter (normalement...) l'utilisation de javascript, par exemple pour l'ajax.

Là aussi, je n'ai pas bien compris comment implémenter et utiliser tout cela.

Sauf qu'il ne fonctionne que pour 1 élément alors que je peux en avoir plusieurs, comme ici:
http://www.francegolf.fr/SPIP/?page=article-golf&id_article=00128
Comment faire pour que la fonction javascript s'applique à plusieurs résultats de formulaire? Sortir la fonction de la boucle?

Oui, pour commencer.
Ensuite, il faut adapter la fonction pour qu'elle modifie ce que tu veux modifier, par exemple en lui passant des paramètres, genre les id des éléments qu'elle doit modifier...etc.

Je pense que ma principale difficulté (en dehors du fait que je ne suis pas programmeur), c'est de "jouer" avec les différentes tables. Car rien de ce que j'appelle n'existe dans un article spip mais se trouve dans une table externe.

Sylvain

Merci beaucoup, en tout cas, de t'être intéressé à mon cas
Arnaud

Le 18 mai 2010 à 09:39, ADB a écrit :

Bonjour

Le 17/05/2010 21:24, Sylvain a écrit :

Oui, c'est cela. #L_Rn vient d'une table via une boucle.

Bonjour
Alors il faut "ajaxiser" la boucle : lire ici pour des explications :
`{ajax}` pour les `inclure` - SPIP

Je n'ai rien pigé à cetarticle. Surtout le a href... Puisque je n'appelle pas une page url.
J'ai essayé, mais je ne parviens pas à passerles variables dans le fichier appelé.
Bref, j'ai abandonné (pour l'instant) le côté formulaire.

Quant à ajax ou jquery (semblable, non?

Non, pas du tout, ajax est un principe (Asynchronous_JavaScript_and_XML : Ajax (informatique) — Wikipédia), alors que jquery est une bibliothèque javascript permettant de faciliter (normalement...) l'utilisation de javascript, par exemple pour l'ajax.

Là aussi, je n'ai pas bien compris comment implémenter et utiliser tout cela.

Sauf qu'il ne fonctionne que pour 1 élément alors que je peux en avoir plusieurs, comme ici:
http://www.francegolf.fr/SPIP/?page=article-golf&id_article=00128
Comment faire pour que la fonction javascript s'applique à plusieurs résultats de formulaire? Sortir la fonction de la boucle?

Oui, pour commencer.
Ensuite, il faut adapter la fonction pour qu'elle modifie ce que tu veux modifier, par exemple en lui passant des paramètres, genre les id des éléments qu'elle doit modifier...etc.

Je pense que ma principale difficulté (en dehors du fait que je ne suis pas programmeur), c'est de "jouer" avec les différentes tables. Car rien de ce que j'appelle n'existe dans un article spip mais se trouve dans une table externe.

Sylvain

Merci beaucoup, en tout cas, de t'être intéressé à mon cas
Arnaud

Je crois surtout que tu cherches à te compliquer la vie, non ?
Je n'ai pas bien compris l'objectif du formulaire en question : modifier les données et la couleur de fond d'une ligne du tableau ?
Pourquoi obliger le visiteur à afficher ces ligne une par une ? Pourquoi ne pas tout simplement faire un tableau avec les 4 ou 5 lignes, que le visiteur pourra s'imprimer s'il le désire ? Car là, s'il veut imprimer 2 ou 3 choix, il lui faut sélectionner un premier choix, imprimer la page, puis sélectionner un deuxième choix, imprimer la page, etc... Fastidieux !
J'ai l'impression que tu essayes de programmer une sorte de "tableau interactif" qui, au lieu de faciliter la vie du visiteur, va lui compliquer la tâche. Non ?

Bonjour
En fait, oui et non.
J'essaie (essayais) de reproduire l'existant (http://www.francegolf.fr/fichegolf-00679-006791-carte-golf-ammerschwihr.htm#parcours) dans le cadre d'une refonte du site.
L'idée est que, sur un même golf, plusieurs longueurs de parcours sont possibles selon sa force. De plus, des handicaps sont attribués fonction du sexe, notamment et autres...
Le site d'origine utilise des fonctions javascript et du php. Mais je n'ai pas réussi à adapter cela avec SPIP.
Pas grave, je vais changer de tactique et d'orientation.
Merci
ADB

Message du 18/05/10 10:00
De : "pascal weber"

A : "spip [spip]"
Copie à :
Objet : Re: [Spip] Formulaire again

Le 18 mai 2010 à 09:39, ADB a écrit :

> Bonjour
>
>
> Le 17/05/2010 21:24, Sylvain a écrit :
>>> Oui, c'est cela. #L_Rn vient d'une table via une boucle.
>> Bonjour
>> Alors il faut "ajaxiser" la boucle : lire ici pour des explications :
>> `{ajax}` pour les `inclure` - SPIP
> Je n'ai rien pigé à cetarticle. Surtout le a href... Puisque je n'appelle pas une page url.
> J'ai essayé, mais je ne parviens pas à passerles variables dans le fichier appelé.
> Bref, j'ai abandonné (pour l'instant) le côté formulaire.
>>> Quant à ajax ou jquery (semblable, non?
>> Non, pas du tout, ajax est un principe (Asynchronous_JavaScript_and_XML : Ajax (informatique) — Wikipédia), alors que jquery est une bibliothèque javascript permettant de faciliter (normalement...) l'utilisation de javascript, par exemple pour l'ajax.
>
> Là aussi, je n'ai pas bien compris comment implémenter et utiliser tout cela.
>
>>> Sauf qu'il ne fonctionne que pour 1 élément alors que je peux en avoir plusieurs, comme ici:
>>> http://www.francegolf.fr/SPIP/?page=article-golf&id_article=00128
>>> Comment faire pour que la fonction javascript s'applique à plusieurs résultats de formulaire? Sortir la fonction de la boucle?
>> Oui, pour commencer.
>> Ensuite, il faut adapter la fonction pour qu'elle modifie ce que tu veux modifier, par exemple en lui passant des paramètres, genre les id des éléments qu'elle doit modifier...etc.
> Je pense que ma principale difficulté (en dehors du fait que je ne suis pas programmeur), c'est de "jouer" avec les différentes tables. Car rien de ce que j'appelle n'existe dans un article spip mais se trouve dans une table externe.
>>
>> Sylvain
>
> Merci beaucoup, en tout cas, de t'être intéressé à mon cas
> Arnaud
>
>

Je crois surtout que tu cherches à te compliquer la vie, non ?
Je n'ai pas bien compris l'objectif du formulaire en question : modifier les données et la couleur de fond d'une ligne du tableau ?
Pourquoi obliger le visiteur à afficher ces ligne une par une ? Pourquoi ne pas tout simplement faire un tableau avec les 4 ou 5 lignes, que le visiteur pourra s'imprimer s'il le désire ? Car là, s'il veut imprimer 2 ou 3 choix, il lui faut sélectionner un premier choix, imprimer la page, puis sélectionner un deuxième choix, imprimer la page, etc... Fastidieux !
J'ai l'impression que tu essayes de programmer une sorte de "tableau interactif" qui, au lieu de faciliter la vie du visiteur, va lui compliquer la tâche. Non ?

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

cheval de troie dans ton /js/greybox/gb_script.js
Je te conseille de nettoyer un peu les pages html / js infecté. Change ton mot de passe ftp, vérifie les bécanes qui ont accéder à ce ftp.

Le 18 mai 2010 10:24, Arnaud DUPIN DE BEYSSAT <a.adupinbe@orange.fr> a écrit :

Bonjour
En fait, oui et non.
J’essaie (essayais) de reproduire l’existant (http://www.francegolf.fr/fichegolf-00679-006791-carte-golf-ammerschwihr.htm#parcours) dans le cadre d’une refonte du site.
L’idée est que, sur un même golf, plusieurs longueurs de parcours sont possibles selon sa force. De plus, des handicaps sont attribués fonction du sexe, notamment et autres…
Le site d’origine utilise des fonctions javascript et du php. Mais je n’ai pas réussi à adapter cela avec SPIP.
Pas grave, je vais changer de tactique et d’orientation.
Merci
ADB

Message du 18/05/10 10:00
De : « pascal weber »

A : « spip [spip] »
Copie à :
Objet : Re: [Spip] Formulaire again

Le 18 mai 2010 à 09:39, ADB a écrit :

Bonjour

Le 17/05/2010 21:24, Sylvain a écrit :

Oui, c’est cela. #L_Rn vient d’une table via une boucle.
Bonjour
Alors il faut « ajaxiser » la boucle : lire ici pour des explications :
http://www.spip.net/fr_article3753.html
Je n’ai rien pigé à cetarticle. Surtout le a href… Puisque je n’appelle pas une page url.
J’ai essayé, mais je ne parviens pas à passerles variables dans le fichier appelé.
Bref, j’ai abandonné (pour l’instant) le côté formulaire.
Quant à ajax ou jquery (semblable, non?
Non, pas du tout, ajax est un principe (Asynchronous_JavaScript_and_XML : http://fr.wikipedia.org/wiki/Asynchronous_JavaScript_and_XML), alors que jquery est une bibliothèque javascript permettant de faciliter (normalement…) l’utilisation de javascript, par exemple pour l’ajax.

Là aussi, je n’ai pas bien compris comment implémenter et utiliser tout cela.

Sauf qu’il ne fonctionne que pour 1 élément alors que je peux en avoir plusieurs, comme ici:
http://www.francegolf.fr/SPIP/?page=article-golf&id_article=00128
Comment faire pour que la fonction javascript s’applique à plusieurs résultats de formulaire? Sortir la fonction de la boucle?
Oui, pour commencer.
Ensuite, il faut adapter la fonction pour qu’elle modifie ce que tu veux modifier, par exemple en lui passant des paramètres, genre les id des éléments qu’elle doit modifier…etc.
Je pense que ma principale difficulté (en dehors du fait que je ne suis pas programmeur), c’est de « jouer » avec les différentes tables. Car rien de ce que j’appelle n’existe dans un article spip mais se trouve dans une table externe.

Sylvain

Merci beaucoup, en tout cas, de t’être intéressé à mon cas
Arnaud

Je crois surtout que tu cherches à te compliquer la vie, non ?
Je n’ai pas bien compris l’objectif du formulaire en question : modifier les données et la couleur de fond d’une ligne du tableau ?
Pourquoi obliger le visiteur à afficher ces ligne une par une ? Pourquoi ne pas tout simplement faire un tableau avec les 4 ou 5 lignes, que le visiteur pourra s’imprimer s’il le désire ? Car là, s’il veut imprimer 2 ou 3 choix, il lui faut sélectionner un premier choix, imprimer la page, puis sélectionner un deuxième choix, imprimer la page, etc… Fastidieux !
J’ai l’impression que tu essayes de programmer une sorte de « tableau interactif » qui, au lieu de faciliter la vie du visiteur, va lui compliquer la tâche. Non ?


liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
http://archives.rezo.net/spip.mbox/

Documentation de SPIP : http://www.spip.net/

Irc : de l’aide à toute heure : http://spip.net/irc


liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
http://archives.rezo.net/spip.mbox/

Documentation de SPIP : http://www.spip.net/

Irc : de l’aide à toute heure : http://spip.net/irc

Merci de l'avis. JE n'arrête pas de nettoyer partout.
Mais c'est fait pour ces fichiers.
ADB

Le 18/05/2010 23:29, Guy Cesaro a écrit :

cheval de troie dans ton /js/greybox/gb_script.js
Je te conseille de nettoyer un peu les pages html / js infecté. Change ton mot de passe ftp, vérifie les bécanes qui ont accéder à ce ftp.

Le 18 mai 2010 10:24, Arnaud DUPIN DE BEYSSAT <a.adupinbe@orange.fr <mailto:a.adupinbe@orange.fr>> a écrit :

    Bonjour
    En fait, oui et non.
    J'essaie (essayais) de reproduire l'existant
    (http://www.francegolf.fr/fichegolf-00679-006791-carte-golf-ammerschwihr.htm#parcours)
    dans le cadre d'une refonte du site.
    L'idée est que, sur un même golf, plusieurs longueurs de parcours
    sont possibles selon sa force. De plus, des handicaps sont
    attribués fonction du sexe, notamment et autres...
    Le site d'origine utilise des fonctions javascript et du php. Mais
    je n'ai pas réussi à adapter cela avec SPIP.
    Pas grave, je vais changer de tactique et d'orientation.
    Merci
    ADB

    > Message du 18/05/10 10:00
    > De : "pascal weber"

    > A : "spip [spip]"
    > Copie à :
    > Objet : Re: [Spip] Formulaire again
    >
    > Le 18 mai 2010 à 09:39, ADB a écrit :
    >
    > > Bonjour
    > >
    > > Le 17/05/2010 21:24, Sylvain a écrit :
    > >>> Oui, c'est cela. #L_Rn vient d'une table via une boucle.
    > >> Bonjour
    > >> Alors il faut "ajaxiser" la boucle : lire ici pour des
    explications :
    > >> `{ajax}` pour les `inclure` - SPIP
    > > Je n'ai rien pigé à cetarticle. Surtout le a href... Puisque
    je n'appelle pas une page url.
    > > J'ai essayé, mais je ne parviens pas à passerles variables
    dans le fichier appelé.
    > > Bref, j'ai abandonné (pour l'instant) le côté formulaire.
    > >>> Quant à ajax ou jquery (semblable, non?
    > >> Non, pas du tout, ajax est un principe
    (Asynchronous_JavaScript_and_XML :
    Ajax (informatique) — Wikipédia),
    alors que jquery est une bibliothèque javascript permettant de
    faciliter (normalement...) l'utilisation de javascript, par
    exemple pour l'ajax.
    > >
    > > Là aussi, je n'ai pas bien compris comment implémenter et
    utiliser tout cela.
    > >
    > >>> Sauf qu'il ne fonctionne que pour 1 élément alors que je
    peux en avoir plusieurs, comme ici:
    > >>>
    http://www.francegolf.fr/SPIP/?page=article-golf&id_article=00128
    <http://www.francegolf.fr/SPIP/?page=article-golf&id_article=00128&gt;
    > >>> Comment faire pour que la fonction javascript s'applique à
    plusieurs résultats de formulaire? Sortir la fonction de la boucle?
    > >> Oui, pour commencer.
    > >> Ensuite, il faut adapter la fonction pour qu'elle modifie ce
    que tu veux modifier, par exemple en lui passant des paramètres,
    genre les id des éléments qu'elle doit modifier...etc.
    > > Je pense que ma principale difficulté (en dehors du fait que
    je ne suis pas programmeur), c'est de "jouer" avec les différentes
    tables. Car rien de ce que j'appelle n'existe dans un article spip
    mais se trouve dans une table externe.
    > >>
    > >> Sylvain
    > >
    > > Merci beaucoup, en tout cas, de t'être intéressé à mon cas
    > > Arnaud
    > >
    >
    > Je crois surtout que tu cherches à te compliquer la vie, non ?
    > Je n'ai pas bien compris l'objectif du formulaire en question :
    modifier les données et la couleur de fond d'une ligne du tableau ?
    > Pourquoi obliger le visiteur à afficher ces ligne une par une ?
    Pourquoi ne pas tout simplement faire un tableau avec les 4 ou 5
    lignes, que le visiteur pourra s'imprimer s'il le désire ? Car là,
    s'il veut imprimer 2 ou 3 choix, il lui faut sélectionner un
    premier choix, imprimer la page, puis sélectionner un deuxième
    choix, imprimer la page, etc... Fastidieux !
    > J'ai l'impression que tu essayes de programmer une sorte de
    "tableau interactif" qui, au lieu de faciliter la vie du visiteur,
    va lui compliquer la tâche. Non ?
    >
    > _______________________________________________
    > liste spip
    > spip@rezo.net <mailto:spip@rezo.net> - désabonnement : envoyer
    un mail à spip-off@rezo.net <mailto:spip-off@rezo.net>
    >
    > Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
    > Discuter chez rezo.net
    >
    > Documentation de SPIP : http://www.spip.net/
    >
    > Irc : de l'aide à toute heure : http://spip.net/irc
    >

    _______________________________________________
    liste spip
    spip@rezo.net <mailto:spip@rezo.net> - désabonnement : envoyer un
    mail à spip-off@rezo.net <mailto:spip-off@rezo.net>

    Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
    Discuter chez rezo.net

    Documentation de SPIP : http://www.spip.net/

    Irc : de l'aide à toute heure : http://spip.net/irc