Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1449 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  object dans JS

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

object dans JS

n°1352696
thierryR
J'aime les bretzels
Posté le 24-04-2006 à 14:29:39  profilanswer
 

C'est surement une question con mais quand on est newbie et pas informaticien on rame.... D'ou cette question.
Voici la procédure que je suis.
1) Je lis une table mysql  en php:   mysql_fetch_object()
 
2) je recolle le tout dans un formulaire

 print <form   name="form_litige" method="POST" > ';
    for($i=0;$i<sizeof($T_obj_data);$i++)  
       print "<input type=text name=obj".$id." value=".$T_obj_fournis[$i].">";
    }
  print "<input type=text name=max value=".$i.">";
  print " </form> ";


 
3) Je relis depuis le JS

document.formulaire.fax.value=document.form_litige.obj1->fax.value
document.formulaire.tel.value=document.form_litige.obj1->tel.value


 
 
Naturellement ça ne marche pas. Pourtant ça me semblait logique, mais je pense qu'il doit me manquer des notions de vocabulaire.
Si quelqu'un peut m'aider..... Merci  :jap:


Message édité par thierryR le 24-04-2006 à 15:05:00
mood
Publicité
Posté le 24-04-2006 à 14:29:39  profilanswer
 

n°1352814
thierryR
J'aime les bretzels
Posté le 24-04-2006 à 16:03:23  profilanswer
 

:bounce:  
si je comprend bien, les object ne sont pas les bienvenus dans le JS

n°1352840
anapajari
s/travail/glanding on hfr/gs;
Posté le 24-04-2006 à 16:27:21  profilanswer
 

c'est surtout que là tu n'as pas d'objet dans ton js [:spamafote]
Et puis on accède aux propriétés d'un objet avec . en js et non ->
 
Là tu mélanges allègrement PHP, JS...
Bref pour ton problème:

Code :
  1. document.formulaire.fax.value=document.form_litige.obj1.value;


et tu récuperas bien la valeur de l'input que tu as créés ainsi:

Code :
  1. print "<input type=text name=obj".$id." value=".$T_obj_fournis[$i].">";


Je te conseille par ailleurs fortement de quoter tes names et values dans ton html ( tip: essay de passer une valeur avec un espace sans quote):

Code :
  1. print '<input type=text name="obj'.$id.'" value="'.$T_obj_fournis[$i].'>';


Message édité par anapajari le 24-04-2006 à 16:28:50
n°1352867
thierryR
J'aime les bretzels
Posté le 24-04-2006 à 16:54:11  profilanswer
 

Je te remercie de la réponse. Ca fait plaisir. Apprennant le js tout juste, pour extraire le fax de mon objet il faut donc ecrire.

Code :
  1. document.formulaire.fax.value=document.form_litige.obj1.fax.value;

n°1352890
anapajari
s/travail/glanding on hfr/gs;
Posté le 24-04-2006 à 17:11:40  profilanswer
 

... je passe ...

n°1352902
nargy
Posté le 24-04-2006 à 17:21:46  profilanswer
 

Quest ce que tu cherche à faire?

n°1352985
thierryR
J'aime les bretzels
Posté le 24-04-2006 à 18:31:32  profilanswer
 

C'est simplement en selectionnant un choix dans une liste, je voulais remplir d'autre champs lié à ce choix.
Ex: choix d'un fournisseur
remplir les champs "tel" et "fax" sur le masque sans faire d'envoi.

n°1353001
thierryR
J'aime les bretzels
Posté le 24-04-2006 à 18:46:34  profilanswer
 

Code :
  1. document.formulaire.fax.value=document.form_litige.obj1.fax.value;


 
en réponse j'ai "

Code :
  1. document.form_litige.obj1 has no properties

"


Message édité par thierryR le 24-04-2006 à 18:46:55
n°1353003
nargy
Posté le 24-04-2006 à 18:53:48  profilanswer
 

tu ``exporte`` ta base de donnée en javascript, en utilisant des Array:

Code :
  1. var fournisseurs=new Array(
  2.   new Array('06.06.06.06.06','06.06.06.06.07'),
  3.   new Array('01.01.01.01.01','01.02.01.02.02')
  4. );
  5. function selectionne(num)
  6. {
  7.   f=window.monformulaire;
  8.   f.tel=fournisseurs[num][0];
  9.   f.fax=fournisseurs[num][1];
  10. }


Dans le select tu ajoute un onchange:

Code :
  1. <form name="monformulaire">
  2. <select name="fournisseur" onchange="javascript: selectionne(this.selectedIndex);return true;"
  3. ...
  4. <input type=text name="tel">
  5. <input type=text name="fax">
  6. ...


Message édité par nargy le 24-04-2006 à 18:55:41
n°1353034
thierryR
J'aime les bretzels
Posté le 24-04-2006 à 19:34:49  profilanswer
 

Ben ton exemple est bien mais ce que je cherche à faire est un peu différent.
J'exporte un array d'object.  
En php on ne peut obtenir que des objects reprèsentant 1 ligne. (mysql_fetch_object())  quand nous recherchons plusieurs ligne on en fait un array.
J'ai donc un array d'object exporté vers le js. C'est peut-être pour ça qu'il n'en veut apparemment pas.
Ce qui coince par ton exemple est le chargement de

Code :
  1. var fournisseurs=new Array(


 
J'espère bien comprendre !! :p

mood
Publicité
Posté le 24-04-2006 à 19:34:49  profilanswer
 

n°1353038
nargy
Posté le 24-04-2006 à 19:44:50  profilanswer
 

> J'exporte un array d'object.
- laisse tomber l'array d'objets, à moins que tu ait des méthodes à mettre dans ton objet, utilise mysql_fetch_array.

n°1353047
nargy
Posté le 24-04-2006 à 19:51:09  profilanswer
 

pour l'export de de la table:
http://php.net/implode
http://php.net/addslashes

n°1353062
thierryR
J'aime les bretzels
Posté le 24-04-2006 à 20:17:57  profilanswer
 

J'ai résolu mon problème autrement.
en PHP  

Code :
  1. <form   name="form_litige" method="POST" > ';
  2. <? php
  3.   $T_obj_fournis=read_tt_fournisseur(); // tous les  fournisseurs
  4.     for($i=0;$i<sizeof($T_obj_fournis);$i++) {
  5. $obj_fournis=$T_obj_fournis[$i];
  6.         $T= array($obj_fournis->id,$obj_fournis->fax,$obj_fournis->tel);
  7. ?>
  8.         '<input type="hidden" name="T'.$i.'" value="'.rawurlencode(implode(':', $T)) .'">';
  9.     }
  10.   }
  11. '<input type="hidden" name="max" value="'.$i.'">';
  12. ' </form> ';


 
puis en JS

Code :
  1. function jsfournis() {
  2. max    = document.form_litige.max.value
  3. idf    = document.formulaire.nom.value
  4. // on construit un tableau par ligne reçue
  5. for(var i=0;i< max;i++)
  6.   {
  7.    T = new Array();
  8.    L = eval('document.form_litige.T'+i+'.value')
  9.    L = unescape(L)
  10.    T = L.split(':')
  11.     if((T[0]- idf) == 0) // Le id fournisseur correspond à notre tableau
  12.      { document.formulaire.fax.value       = T[1]
  13.        document.formulaire.tel.value       = T[2]
  14.     }
  15.    }//for  
  16. }


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  object dans JS

 

Sujets relatifs
Récupérer le nom d'un object<object> flash et mozilla
Firefox embed/object wmode=transparent une solution??arraylist transtypage cast object string int (help please)
Documentation ( Business Object ) en javaVertex Buffer Object en OpenGL
[ASP.NET, VB] Taille mémoire maximum d'un object ?[html-javascript] Changer le contenu d'une balise object
C# Object to DataSetiframe, object, ..., à recharger et redimensionner
Plus de sujets relatifs à : object dans JS


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR