Lien http et checkbox

Lien http et checkbox - HTML/CSS - Programmation

Marsh Posté le 13-06-2006 à 12:50:41    

Bonjour :jap:  
 
je suis actuellement en train de faire une check-list, le principe est simple :
 
<checkbox1> <champ texte1>
<checkbox2> <champ texte2>
<checkbox3> <champ texte3>
...
<lien http: ajouter un nouveau champ>
 
Or quand je clique sur mon lien, forcément je relance la page, et je perds les infos déjà enregistrées par le client [:banguy]  
 
solution ? JS à la volée ? Tout JS ? Autre ?
 
MERCI D'AVANCE

Message cité 1 fois
Message édité par lkolrn le 13-06-2006 à 16:23:08
Reply

Marsh Posté le 13-06-2006 à 12:50:41   

Reply

Marsh Posté le 13-06-2006 à 13:36:13    

php ??

Reply

Marsh Posté le 13-06-2006 à 14:14:06    

PS: c'est en php
 
Le fait est qu'il est impossible de savoir si le client a coché telle ou telle case/rempli tel ou tel champ AVANT de valider son formulaire,
et l'appel à ce lien "ajouter un champ" intervient avant la validation, donc ne permet pas de récupérer les valeurs du formulaire...

Reply

Marsh Posté le 13-06-2006 à 14:42:51    

:sweat:

Reply

Marsh Posté le 13-06-2006 à 16:31:37    

bon, j'ai une esquisse de réponse, mais ça foire toujours... Je donne le code :
 

Code :
  1. <script language="Javascript">
  2. function Func()
  3. {
  4.  if (document.forms["formulaire"].check.checked == true)
  5.   document.write('<?php $_SESSION["checkage"]=1; ?>');
  6.  else
  7.   document.write('<?php $_SESSION["checkage"]=0; ?>');
  8.  return;
  9. }
  10. </script>
  11. <?php
  12. echo '<form action="./index.php" name="formulaire" method="post">';
  13. if (isset($_SESSION['checkage']) && ($_SESSION['checkage'] == 1))
  14.  echo '<input type="checkbox" name="check" checked="checked" onclick="Func();" />';
  15. else
  16.  echo '<input type="checkbox" name="check" onclick="Func();" />';
  17. echo '<input type="submit" />';
  18. echo '</form>';
  19. ?>

On dirait que ça tourne en boucle... :heink:

Reply

Marsh Posté le 13-06-2006 à 17:40:24    

je patauge...

Reply

Marsh Posté le 13-06-2006 à 19:13:59    

lkolrn a écrit :

bon, j'ai une esquisse de réponse, mais ça foire toujours... Je donne le code :
 

Code :
  1. <script language="Javascript">
  2. function Func()
  3. {
  4.  if (document.forms["formulaire"].check.checked == true)
  5.   document.write('<?php $_SESSION["checkage"]=1; ?>');
  6.  else
  7.   document.write('<?php $_SESSION["checkage"]=0; ?>');
  8.  return;
  9. }
  10. </script>
  11. <?php
  12. echo '<form action="./index.php" name="formulaire" method="post">';
  13. if (isset($_SESSION['checkage']) && ($_SESSION['checkage'] == 1))
  14.  echo '<input type="checkbox" name="check" checked="checked" onclick="Func();" />';
  15. else
  16.  echo '<input type="checkbox" name="check" onclick="Func();" />';
  17. echo '<input type="submit" />';
  18. echo '</form>';
  19. ?>

On dirait que ça tourne en boucle... :heink:


Tu mélange complètement le javascript et le php. N'oublie pas que le javascript n'aura qu'une influence sur le client et ne dialoguera pas avec le sreveur(SAUF si tu utilise des méthodes tel que AJAX, etc..). A mon avis réalise le maximum en javascript avec une solution de secour en php pour les clients "exotiques". Donc en gros, à la place de faire ça :  

Code :
  1. <script language="Javascript">
  2. function Func()
  3. {
  4.  if (document.forms["formulaire"].check.checked == true)
  5.   document.write('<?php $_SESSION["checkage"]=1; ?>');
  6.  else
  7.   document.write('<?php $_SESSION["checkage"]=0; ?>');
  8.  return;
  9. }
  10. </script>


Tu fais quelque chose qui ressemble à   :  

Code :
  1. <script language="Javascript">
  2. function Func()
  3. {
  4.  if (document.forms["formulaire"].check.checked == true)
  5.   document.write('<checkbox i++> <champ texte i++> ');
  6. }
  7. </script>


 

Reply

Marsh Posté le 13-06-2006 à 19:26:46    

Ouais, en fait l'idée au départ c'était justement un poil de JS, uniquement pour rendre réactifs certains élements de mon formulaire, ce même JS me mettant mes variables php à jour comme je veux... Et conserver mon code php déjà produit
Après cette soluce (de générer du php en JS) je l'ai simplement vue sur le net, et je n'ai jamais fait ce genre de trucs (qui puent :whistle:)
 
Je voulais éviter au max le JS, car je suis nul (jamais fait, enfin ct ya trop longtemps) et que c'est pressé... :sweat: Bon, encore une bonne soirée au taf en perspective... :pfff: Et merci quand même :hello:

Reply

Marsh Posté le 19-06-2006 à 18:56:23    

Re,
 
je suis toujours une buse en JS (pas encore mis dessus, j'avais d'autres trucs + importants avant ça), et là je dois vérifier donc que mon gars coche ou pas telle ou telle case dans une liste de checkbox, après qu'il ait cliqué sur un lien hypertexte...
En gros le lien c'est "ajouter un choix dans ma liste", avec une checkbox aussi (à "on" par défaut), le truc marche en php sauf que ça bouffe ce que l'utilisateur a fait avant ça
 
Je donne le code, j'y arrive pas

Code :
  1. function VerifItem(value)
  2. {
  3. for (i=0; i<value; i++)
  4. {
  5.  itemname="item"+i+"";
  6.  if (document.forms["formitem"].itemname.checked == true)
  7.   alert("ok" );
  8.  else
  9.   alert("nada" );
  10. }
  11. }

Le nom du formulaire est bon, et si je remplace mon itemname par item0, item1, item2, etc... (fonction de la taille de ma liste) bah ça marche... Alors c'est quoi la bonne syntaxe siouplé ? [:airforceone]

Reply

Marsh Posté le 20-06-2006 à 01:39:40    

personne ?

Reply

Marsh Posté le 20-06-2006 à 01:39:40   

Reply

Marsh Posté le 20-06-2006 à 12:00:50    

Code :
  1. function VerifItem(value)
  2. {
  3. for (i=0; i<value; i++)
  4. {
  5.  if (document.getElementByName('item'+i+'').checked == true)
  6.   alert('item'+i+' ok');
  7.  else
  8.   alert('item'+i+' nada');
  9. }
  10. }

Toujours rien... [:banguy]

Reply

Marsh Posté le 27-06-2006 à 10:24:48    

lkolrn a écrit :

Bonjour :jap:  
 
je suis actuellement en train de faire une check-list, le principe est simple :
 
<checkbox1> <champ texte1>
<checkbox2> <champ texte2>
<checkbox3> <champ texte3>
...
<lien http: ajouter un nouveau champ>
 
Or quand je clique sur mon lien, forcément je relance la page, et je perds les infos déjà enregistrées par le client [:banguy]
 
MERCI D'AVANCE


Désolé de remonter ça à la surface (et à la face) de HFR, mais je galère et j'ai besoin d'aide pour faire ça en pur JS (j'ai abandonné l'idée initiale)
 
je commence avec le code du formulaire sur la page index.php :

Code :
  1. function Detect()
  2. {
  3.     if (document.forms["form1"].moncheck.checked == true)
  4.         check=1;
  5.     else
  6.         check=0;
  7. }
  8. document.write('<form name="form1" action="./recup.php" method="post">');
  9. if (check == 1)
  10.     document.write('<input type="checkbox" name="moncheck" value="" checked="checked" />');
  11. else
  12.     document.write('<input type="checkbox" name="moncheck" value="" />');
  13. document.write('<input type="text" name="montexte" value="" />');
  14. document.write('</form>');
  15. document.write('<a href="./index.php" onclick="Detect();">Ajouter un choix</a>');

Mais ça marche pas, et je butte complètement sur la logique du truc...

Reply

Marsh Posté le 27-06-2006 à 11:46:59    

Personne ?
 
Je fais plein de tests, mais j'arrive toujours à la même conclusion... (à savoir je comprend pas...) :sweat:

Reply

Marsh Posté le 27-06-2006 à 12:04:05    

t1...
 
bon j'arrive à récupérer les valeurs de mes champs avec JS, ça pas de problème...
 
La *ouille c'est pour les ré-insérer dans mon formulaire... J'essaie plein de trucs, tous foireux...

Reply

Marsh Posté le 27-06-2006 à 14:53:01    

Quelqu'un a une idée ?
 
Insérer dans un formulaire F des données issues d'une formulaire... F :pt1cable:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed