.cgi et javascript
jul
-
jul -
jul -
Comment faire pour atteindre la valeur d'un champs d'un formulaire à partir d'un autre formulaire tous deux en .cgi???
le champs est celui ci:
echo '<INPUT TYPE="text" NAME="type" VALUE="'.$ligne[0].'" >';}?></td>
le but est d'inclure cette valeur dans mon premier formulaire.
je voulais faire quelque chose de la sorte:
function ajout(){
opener.document.getElementById('type').value="????valeur de mon formulaire 2";
}
le champs est celui ci:
echo '<INPUT TYPE="text" NAME="type" VALUE="'.$ligne[0].'" >';}?></td>
le but est d'inclure cette valeur dans mon premier formulaire.
je voulais faire quelque chose de la sorte:
function ajout(){
opener.document.getElementById('type').value="????valeur de mon formulaire 2";
}
A voir également:
- .cgi et javascript
- Telecharger javascript - Télécharger - Langages
- Javascript echo ✓ - Forum PHP
- Afficher un tableau javascript en html ✓ - Forum Javascript
- Javascript arrondi - Forum Javascript
- Javascript arrondi après la virgule ✓ - Forum Windows
5 réponses
toujours au même endroit à ce que je vois.. :)
Tu peux pas faire un :
pour acceder justement à la fenetre parente de celle ou tu as ton deuxieme formulaire qui doit modifié le premier.
Puis ensuite, si on admet que ton premier formulaire a le champ (celui qui doit etre modifié) identifié par : id='champ1' :
En tout cas c'est un truc de ce genre la, qu'il faut faire..
++
Tu peux pas faire un :
this.parent.
pour acceder justement à la fenetre parente de celle ou tu as ton deuxieme formulaire qui doit modifié le premier.
Puis ensuite, si on admet que ton premier formulaire a le champ (celui qui doit etre modifié) identifié par : id='champ1' :
this.parent.getElementById("champ1").value = "toto";
En tout cas c'est un truc de ce genre la, qu'il faut faire..
++
je vais essayer ce code dessuite. Par contre jme suis rendu compte que le onunload ne fonctionne pas sur mon formulaire fille. Je travaille avec Konqueror.
Et meme lorsque j'écrit juste onunload="alert('bidule')" rien ne se met...
(j'écris mon onunload dans le body).
Et meme lorsque j'écrit juste onunload="alert('bidule')" rien ne se met...
(j'écris mon onunload dans le body).
Bon je n'arrive toujours pas a le faire marcher.
j'ai mis ma fonction dans la popup:
et j'ai dans un fichier cadre formulaire la génération du bouton submit.
ji est donc inclu ce code:
Est ce que ca peut marcher en mettant la fonction dans ce submit??
et sinon vois tu une erreur dans ce code??
j'ai mis ma fonction dans la popup:
<head>
<script language="javascript">
function ajout(){
this.parent.getElementById('type').value="truc2";
}
</script>
</head>
et j'ai dans un fichier cadre formulaire la génération du bouton submit.
ji est donc inclu ce code:
echo '<p align=center><input type="submit" name="Submit" value="Ajouter" OnClick="javascript:ajout()"></p>'."\n"; echo '<INPUT type="hidden" name="num_enr" value="'.$num_enr.'">'."\n"; echo '<INPUT type="hidden" name="mode" value="formulaire">'."\n"; echo '<INPUT type="hidden" name="objet" value="'.$objet.'">'."\n"; echo '<INPUT type="hidden" name="action" value="ajouter">'."\n"; echo '<INPUT type="hidden" name="bd" value="ok">'."\n"; }
Est ce que ca peut marcher en mettant la fonction dans ce submit??
et sinon vois tu une erreur dans ce code??
non ce n'est pas comme ca qu'il faut faire.
Si ton script s'appelle fichier.php :
Voilà, comme cela tu rappelle ta page quand tu clique sur le bouton submit, les test sont effectués et si tu as changer la valeur du champ que tu souhaite modifier, alors le chanegment est effectué dans la premiere fenetre et la popup sera fermée.
Il te reste à trouver comment fermer la popup, et comment modifié le champ de ta premiere fenetre car je ne suis pas sur que ce soit bon ce que je t'ai donné pour la fonction en JS.
++
Si ton script s'appelle fichier.php :
<html>
<head>
<script language="javascript">
function ajout( valeur ){
this.parent.getElementById('type').value= valeur ;
}
</script>
</head>
<body>
<?php
if(isset($_POST['Submit'])) {
// Ici on effectue les traitements :
if( $_POST["champachanger'] != ""){
// Changement nouvelle valeur :
echo "<script language=\"javascript\">
ajout(".$_POST['champachanger'].");
</script>";
// Fermeture de la fenetre :
this.close // Trouver la méthode qui ferme la fenetre.
}
else
echo "<script language=\"javascript\"> alert(\"Mauvaise valeur pour le champ\"); </script>";
}
// On affiche le formulaire :
echo '<form action="fichier.php" method="post">';
echo 'Changer : <input type="text" name="champachanger" value="Changer la valeur"><BR>';
echo '<INPUT type="hidden" name="num_enr" value="'.$num_enr.'"><BR>';
echo '<INPUT type="hidden" name="mode" value="formulaire"><BR>';
echo '<INPUT type="hidden" name="objet" value="'.$objet.'"><BR>';
echo '<INPUT type="hidden" name="action" value="ajouter"><BR>';
echo '<INPUT type="hidden" name="bd" value="ok"><BR>';
echo '<p align=center><input type="submit" name="Submit" value="Ajouter"></p><BR>';
echo "</form>";
?>
</body>
</html>
Voilà, comme cela tu rappelle ta page quand tu clique sur le bouton submit, les test sont effectués et si tu as changer la valeur du champ que tu souhaite modifier, alors le chanegment est effectué dans la premiere fenetre et la popup sera fermée.
Il te reste à trouver comment fermer la popup, et comment modifié le champ de ta premiere fenetre car je ne suis pas sur que ce soit bon ce que je t'ai donné pour la fonction en JS.
++
Il me faudrait 2 3 précisions s'il te plait.
tout le code que tu donnes je l'écris dans ma popup?
Mais le code qui génère le bouton submit sur tous mes formulaires se situe dans un autre fichier...donc je fais comment.
Deuxième chose:
tu me dis que le code verifie si j'ai modifier ma valeur....
Mais l'ouverture de la popup permet d'entrer une valeur qui s'ajoutera dans le 1er formulaire et non pas de modifier mes valeurs.Ton code fonctionne toujours dans ce cas la???
(merci pour ton aide)
tout le code que tu donnes je l'écris dans ma popup?
Mais le code qui génère le bouton submit sur tous mes formulaires se situe dans un autre fichier...donc je fais comment.
Deuxième chose:
tu me dis que le code verifie si j'ai modifier ma valeur....
Mais l'ouverture de la popup permet d'entrer une valeur qui s'ajoutera dans le 1er formulaire et non pas de modifier mes valeurs.Ton code fonctionne toujours dans ce cas la???
(merci pour ton aide)
Mais le code qui génère le bouton submit sur tous mes formulaires se situe dans un autre fichier...donc je fais comment.
je comprend pas ce que tu veux dire par la.
Réponse 2 : en fait c'est pour ajouter une valeur, dans ce cas cela revient au même : tu as un champ dans lequel l'utilisateur rentre une valeur, et c'est dans ta fonction JS que tu change de méthode : plutot que de changer, tu ajoute la valeur :
A la place de :
this.parent.getElementById('bidule').value = valeur;
Tu regarde s'il n'y a pas une méthode pour ajouter un élément, puisq'il s'agit d'un liste.
Comme ca par exemple :
var long = this.parent.getElementById('bidule').length;
this.parent.getElementById("bidule")[long+1] = new Option(valeur);
this.parent.getElementById('bidule).length++;
Je te met le code ci-dessus pour que tu vois ce que je veux dire mais ce n'est pas forcément le bon. Il faudrait que qqun de plus expérimenté en Javascript te renseigne sur comment atteindre les option d'une liste déroulante.
Voilà
++
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question