[JS]changer la valeur d'un champ

changer la valeur d'un champ [JS] - HTML/CSS - Programmation

Marsh Posté le 09-07-2004 à 15:57:45    

j'ai une fonction en javascript qui me fait un traitement suivant ce qui a ete saisi dans un champ, et je voudrais que cette fonction renvoye dans le champ concerne la nouvelle valeur qui doit etre affiche, ca me donne un truc comme ca :
 
fond = document.forminsert.fond.value ;
var a = fond;
var b = a.replace(/\\/g,"\/" );
fond="toto";
 
la j'essaye donc juste d'afficher toto dans le champ de saise, mais ca ne marche pas
 
si vous pouvez m'aider en plus c'est la fin de semaine et j'ai un peu du mal :p
 
merci ;)

Reply

Marsh Posté le 09-07-2004 à 15:57:45   

Reply

Marsh Posté le 09-07-2004 à 17:11:25    

var fond = document.forminsert.fond.value ;
document.forminsert.fond.value = fond.replace(/\\/g,"\/" );


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 10-07-2004 à 22:51:13    

var fond = document.forminsert.fond;
fond.value = fond.value.replace(/\\/g,"\/" );

Reply

Marsh Posté le 10-07-2004 à 23:37:48    

Ton erreur, c'est que tu veux faire pointer ta variable fond sur la value qui est une chaîne et non un objet.
fond = document.forminsert.fond.value;  
Fond va juste être une copie de la value et non un pointeur dessus. Changer ensuite la valeur de fond ne change pas la value.
 
Il faut donc faire comme indiqué par lorill:
 
Le mieux serait quand même de donner un id à ton champs, car
document.forminsert.fond;
n'est pas une syntaxe recommendée.
 
Avec un id, tu écris :
document.getElementById( 'fond' );


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 10-07-2004 à 23:55:10    

Mara's dad a écrit :

Il faut donc faire comme indiqué par lorill


:non: la solution a été donnée par JagStang, je me suis contenté de la réecrire a ma sauce [:ziiio]

Reply

Marsh Posté le 11-07-2004 à 00:33:25    

lorill a écrit :

:non: la solution a été donnée par JagStang, je me suis contenté de la réecrire a ma sauce [:ziiio]


Oui, la solution de JagStang fonctionne, mais il continue à pointer sur la value ce qui ne sert à rien. Si le but de la variable fond est de ne pas avoir à écrire le nom complet, la soluce de JagStang est inutile, autnat écrire dirrectement :
document.forminsert.fond.value = document.forminsert.fond.value.replace(/\\/g,"\/" );
 
De plus aucun de vous n'explique pourquoi la syntaxe de jeromejanson ne peux pas marcher !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 12-07-2004 à 08:47:47    

ca ne marche pas pour moi, vous avez deja teste?
merci

Reply

Marsh Posté le 12-07-2004 à 08:49:38    

oui


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 12-07-2004 à 08:53:49    

g essaye les 2 solutions et ca ne marche aps
 
je comprend pas

Reply

Marsh Posté le 12-07-2004 à 09:30:07    

Pourrais tu être plus précis ? qu'est ce qui ne marche pas ?
Si tu essaies déjà de faire

Code :
  1. var toto = document.forminsert.fond.value ;
  2. var tata = toto + " modif";
  3. document.forminsert.fond.value = tata;


est-ce que ca marche ? Le problème peut venir de ton replace, teste donc de manière unitaire.

Reply

Marsh Posté le 12-07-2004 à 09:30:07   

Reply

Marsh Posté le 12-07-2004 à 09:34:04    

swgreedo a écrit :

Pourrais tu être plus précis ? qu'est ce qui ne marche pas ?
Si tu essaies déjà de faire

Code :
  1. var toto = document.forminsert.fond.value ;
  2. var tata = toto + " modif";
  3. document.forminsert.fond.value = tata;


est-ce que ca marche ? Le problème peut venir de ton replace, teste donc de manière unitaire.


 
meme ca ca ne marche pas :(

Reply

Marsh Posté le 12-07-2004 à 09:35:53    

as-tu un formulaire qui s'appelle forminsert ? un champ qui s'appelle fond ?
 
tu comprends ce que tu fais ?
 
poste le code complet de ta page stp


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 12-07-2004 à 09:38:59    

bien sur que j'ai le bon nom du formulaire et du champ
 
mais je me rend compte que je vous avait pas preciser un truc, c de ma faute, desole
 
le champ c'est un input type file
 
peut etre que vous allez me doire que c'est possible

Reply

Marsh Posté le 12-07-2004 à 09:50:59    

Voilà une précision utile...
Je viens de tester, tu ne peux pas affecter manuellement la valeur d'un input file. Tu ne peux que la consulter.

Reply

Marsh Posté le 12-07-2004 à 09:53:53    

dans ce cas ça change tout. quel est ton problème ? pourquoi veux-tu modifier ce champ, puisqu'ensuite il ne pointera plus vers un fichier valide ? plus de détail stp


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 12-07-2004 à 09:56:44    

ca devrait pas etre possible, sinon je peux faire une page qui va recuperer un fichier sur ton disque, et submitter le formulaire automatiquement... trop dangereux !

Reply

Marsh Posté le 12-07-2004 à 10:01:09    

en fait je cherche a recuperer le chemin qui est rentre dans le champ
le pb est que le chemin renvoye par le input type file est avec des antislash, et suivant les navigateurs, certains n'aiment pas les "\"
c'est pour ca que je fais un replace qui me permet de transformer les "\" en "/"
et donc si il y a une modif a faire pour le chemin, je voudrais que le nouveau chemin vienne remplacer l'ancien dans le champ
 
j'espere avoir ete comprehensible ;)

Reply

Marsh Posté le 12-07-2004 à 10:07:32    

ouhla, tu veux faire n'importe quoi en fait la...

Reply

Marsh Posté le 12-07-2004 à 10:08:42    

pourquoi n'importe quoi?

Reply

Marsh Posté le 12-07-2004 à 10:12:59    

parce que c'est le navigateur qui mets le fichier et qui le gère, tu n'as pas a choisir pour lui quel séparateur de fichier lui convient.
 
c'est quoi ton VRAI besoin ? pourquoi tu veux jouer a ca ?

Reply

Marsh Posté le 12-07-2004 à 10:31:28    

je veux pas uploader de fichier, je veux juste me servir du input type file pour recuperer le chemin d'un fichier

Reply

Marsh Posté le 12-07-2004 à 10:38:48    

Sinon, je confirme, la modif de la value d'un input type="file" est interdite pour des raisons évidente de sécurité.
 


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 12-07-2004 à 10:40:07    

jeromejanson a écrit :

je veux pas uploader de fichier, je veux juste me servir du input type file pour recuperer le chemin d'un fichier

ah. ben dans ce cas, pourquoi modifier la valeur du champs ? tu peux stocker ta variable ailleurs, non ?

Reply

Marsh Posté le 12-07-2004 à 10:44:51    

oui, je stocke le chemin du fichier dans une table

Reply

Marsh Posté le 12-07-2004 à 10:48:32    

mon modifie-le à ce moment là


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 12-07-2004 à 10:52:33    

j'ai pas compris???

Reply

Marsh Posté le 12-07-2004 à 10:54:11    

modifie le chemin au moment ou tu récupères cette valeur (avant de l'insérer dans la base)
 
c'est trop te demander un peu de code ?


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 12-07-2004 à 10:56:47    

c'est ce que je voulais faire au debut, mais je pensais qu'il y avait possibiliter de le faire en js

Reply

Marsh Posté le 12-07-2004 à 10:58:03    

je vois pas pourquoi tu veux faire ça du côté client. si la gars a le JS désactivé ça ne fonctionnera pas. alors que sur le serveur au moins t'es certain que ça fonctionnera
 


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 12-07-2004 à 11:05:28    

ouai mais le pb c que suivant le navigateur des fois je recupere le chemin entier, et des fois j'ai juste le nom du fichier

Reply

Marsh Posté le 12-07-2004 à 15:54:56    

Dans ce cas met la valeur modifiée de ton file dans un champ caché.

Reply

Marsh Posté le 12-07-2004 à 16:47:32    

jeromejanson a écrit :

ouai mais le pb c que suivant le navigateur des fois je recupere le chemin entier, et des fois j'ai juste le nom du fichier


 
C'est le problème avec input type="file"
 
Selon la norme, le serveur ne devrait recevoir QUE le nom du fichier (à titre d'information).
Le navigateur n'est pas censé envoyer le chemin complet. C'est un trou de sécurité de le faire ( IE par exemple :pfff: ) car ça renseigne le serveur sur l'architecture du système de fichier du client. Le serveur n'a absoluement pas besoin de connaitre pour faire un upload de fichier.
 
Bref, tu vas devoir faire autrement :D


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 13-07-2004 à 10:39:47    

c bon, traite autrement, mais c tres chiant ces differentes manieres de gerer les memes choses entre les navigateurs ;)

Reply

Marsh Posté le 13-07-2004 à 13:21:55    

Surtout ceux qui suivent pas les standards :pfff:


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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