IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

reload frame formulaire


Sujet :

JavaScript

  1. #1
    Membre régulier
    Homme Profil pro
    Thésard BioInformatique
    Inscrit en
    Décembre 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Thésard BioInformatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 97
    Points : 104
    Points
    104
    Par défaut reload frame formulaire
    Bonjour,

    J'aimerai pour faire un refresh sur une frame. Mais je dois avoir un problème dans mon script (p4.php) car ça ne fonctionne pas..

    Je vous donne le contexte :
    J'explique vite fait mon contexte :
    - J'ai un formulaire fait deslistes déroulantes(qui s'implémentent toute seul depuis ma BDD) dans lesquels il y a une option ajout, qui doit permettre de rajouté une nouvelle option saisie par l'utilisateur.
    - Le rafraichissement de la liste déroulante doit être local, c'est-à-dire que sur celle ou l'on a voulu ajouter une nouvelle entrée.

    D'ailleurs si vous avez une idée de script qui le fasse assez simplement je suis preneur (vu que je suis novice, étudiant en BioInfo M1)

    ___________

    Moi j'ai essayé de tout "canalisé" dans des FRAMES différentes, qui font appel à un DIV caché, ou je rentre ma nouvelle valeur (quand l'option ajout est sélectionné).
    De là, une page s'ouvre pour récupérer la valeur de l'INPUT et la transmettre à ma BDD. Ensuite, j'aimerai que la FRAME (dans laquel il y avait la liste déroulante) fasse un refresh, pour la nouvelle option soit sélectionnable par l'utilisateur.

    J'espère que j'ai été assez clair

    ____________
    Ma page appelante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <HTML>
    <HEAD>
    <TITLE>Titre de page</TITLE>
    </HEAD>
    <FRAMESET cols="140,*">
    	<FRAMESET rows="*,50" frameborder=0>
    		<FRAME name="FRAME1" src="essai20.php">
    		<FRAME name="FRAME2" src="essai21.php">
    	</FRAMESET>
    	<FRAME name="FRAME3" src="essai1.php">
    </FRAMESET>
    Mon script du formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
     
    	<head>
    <script type="text/javascript">
    function griser(liste)
    {
    if ( liste[liste.selectedIndex].value=="saisie" ){
     
    document.getElementById("moncalque").style.visibility="visible";
    		}
    }
    </SCRIPT>	
    	</head>
     
    	<body>
    	<DIV id="moncalque" style="position:absolute;top:200px;left:200px;visibility:hidden; border-style: solid ; border-color:blue ;background-color:white;">
    		<form name="general" action="p4.php" method="post">
    		Entrez une nouvelle valeur : </td><td><input type="text" name="nvx" id="list1">
    		<input type="submit" value="Continuer" /> 
    		</form>
    	</DIV>
    	<select name="list2" id="list2" class="ButtonL" onchange="griser(this);"> 
    		<option value="choix">Choix</option>
    					<?php
    					mysql_connect("localhost", "root", ""); 
    					mysql_select_db("fmov2"); 
     
    					$modif = mysql_query("SELECT * FROM plante");			
    					while ($modif1 = mysql_fetch_array($modif))
    					{
    						$mod1 = $modif1['nom'];
     
    						echo "<option value=\"$mod1\"> $mod1 </option>";
    					}
    					mysql_close(); 
    					?>
    		<option value="saisie">saisie</option>
    </select>
    </body>
    </html>
    et p4.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <html>
    <head>
    <script type="text/javascript">
    function load()
    {
    parent.frames["frame3"].window.location="essai1.php";
    }
    </script>
    </head>
     
    <body onload="load()">
    <?php
    $nvx = $_POST['nvx'];
    mysql_connect("localhost", "root", ""); 
    mysql_select_db("fmov2"); 
     
    mysql_query("insert into plante values ('$nvx');");
    mysql_close();
    ?>
    </body>
    </html>
    Ca fait une semaine que je suis sur ce problème, j'ai essayé un peu toute les idées qui me passé par la tête..
    Si vous pouviez m'aider ça serai cool (surtout ne pas me renvoyer vers une page où il y a des trucs qui sont plus ou moins en rapport, svp)..


    merci de votre attention,


    Bien cordialement,
    Onylink

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    la syntaxe que tu utilises est erronée (à cause du "window" en trop et du "href" en moins). Essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    parent.frames["frame3"].location.href="essai1.php";
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    parent.frames["frame3"].location.reload();
    Si ça ne marche pas, c'est peut-être dû à un problème de cache ...

    A+

  3. #3
    Membre régulier
    Homme Profil pro
    Thésard BioInformatique
    Inscrit en
    Décembre 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Thésard BioInformatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 97
    Points : 104
    Points
    104
    Par défaut
    Bonjour,

    Tout d'abord merci pour la réponse rapide..


    Je viens d'essayer tes solutions, mais ça ne marche pas.. La page reste la même..
    Je me demande si il comprend qu'il faut exécuté le script ??!!


    Merci de votre attention,

    Bien cordialement,
    Onylink (master 1 BioInfo)

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par onylink Voir le message
    Je viens d'essayer tes solutions, mais ça ne marche pas..
    Si tu ne nous montres pas "comment", on ne pourra pas te dire "pourquoi" ....

    A+

  5. #5
    Membre régulier
    Homme Profil pro
    Thésard BioInformatique
    Inscrit en
    Décembre 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Thésard BioInformatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 97
    Points : 104
    Points
    104
    Par défaut
    Re-bonjour,

    alors en faite ça à pseudo l'air de marcher, il manque juste un petit truc..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <script type="text/javascript">
    function griser(liste)
    {
    if ( liste[liste.selectedIndex].value=="saisie" ){
     
    document.getElementById("moncalque").style.visibility="visible";
    		}
    }
    </SCRIPT>	
     
    <script type="text/javascript">
    function request()
    {
    setTimeout('parent.frames["frame1"].window.location="essai1.php";',1000);
    document.getElementById("moncalque").style.visibility="hidden";
    }
    </SCRIPT>	
     
    	</head>
     
     
     
    	<body>
     
    	<DIV id="moncalque" style="position:absolute;top:200px;left:200px;visibility:hidden; border-style: solid ; border-color:blue ;background-color:white;">
    		<form name="general" action="p4.php" target="_blank" method="post">
    		Entrez une nouvelle valeur : </td><td><input type="text" name="nvx" id="list1">
    		<input type="submit" value="Continuer" onclick="request()"/> 
    		</form>
    	</DIV>
    Le relaod (raffraichissement) ne se fait pas..
    En j'ai mis la fonction setTimeout('parent.frames["frame1"].window.location="essai1.php";',1000); mais ça ne marche pas..

    Est-ce qu'il est possible d'influancé le <select... > pour qu'il soit positionné sur la nouvelle valeur (que viens de rentrer l'utilisateur) après le refresh, grâce au javascript ?

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par onylink Voir le message
    Le relaod (raffraichissement) ne se fait pas..
    En j'ai mis la fonction setTimeout('parent.frames["frame1"].window.location="essai1.php";',1000); mais ça ne marche pas..
    Ah ...

    Visiblement, tu n'avais pas bien lu ma 1° réponse ?

    A+

  7. #7
    Membre régulier
    Homme Profil pro
    Thésard BioInformatique
    Inscrit en
    Décembre 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Thésard BioInformatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 97
    Points : 104
    Points
    104
    Par défaut
    Pardon, j'ai pas mis le bon script

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <script type="text/javascript">
    function request()
    {
    setTimeout("tps()",3000);
     
     
    }
    </SCRIPT>	
     
    <script type="text/javascript">
    function tps(){
    document.getElementById("moncalque").style.visibility="hidden";
    parent.frames["frame3"].location.href="essai1.php";
    }
    </SCRIPT>
     
    	</head>
     
     
     
    	<body>
     
    	<DIV id="moncalque" style="position:absolute;top:200px;left:200px;visibility:hidden; border-style: solid ; border-color:blue ;background-color:white;">
    		<form name="general" action="p4.php" target="_blank" method="post">
    		Entrez une nouvelle valeur : </td><td><input type="text" name="nvx" id="list1">
    		<input type="submit" value="Continuer" onclick="request()"/> 
    		</form>
    	</DIV>

    Voilou.. mon DIV se cache, mais pas de refresh de la page..
    Le select est toujours au même endroit et la valeur n'est pas ajouter.
    Si je fais un F5 tout marche bien..



  8. #8
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Là c'est l'iframe qui est rechargée.
    C'est bien ce que tu veux faire ?

    A+

  9. #9
    Membre régulier
    Homme Profil pro
    Thésard BioInformatique
    Inscrit en
    Décembre 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Thésard BioInformatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 97
    Points : 104
    Points
    104
    Par défaut
    J'ai trouvé une petite combine..

    plutot que de vouloir raffraichir la frame je la rappel..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script type="text/javascript">
    function tps(){
    document.getElementById("moncalque").style.visibility="hidden";
    location.href='essai1.php';
    }
    </SCRIPT>


    ¤ J'aurai aimé pouvoir lui dire de checked une option choisi.. Mais je ne sais pas comment faire ?


    _______

    Je ne sais pas ce qu'est "iframe" ?


    Bien cordialement,
    onylink

Discussions similaires

  1. VB.NET frame formulaire
    Par Alexis35 dans le forum ASP.NET
    Réponses: 7
    Dernier message: 18/06/2010, 13h25
  2. Reload de formulaire sans submit
    Par Tiéry dans le forum Struts 1
    Réponses: 4
    Dernier message: 03/09/2008, 15h03
  3. 1er formulaire reload 2eme formulaire
    Par themateo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 05/11/2007, 16h49
  4. frames et formulaires
    Par Alderyan dans le forum ASP
    Réponses: 3
    Dernier message: 30/06/2005, 10h14
  5. Comment reloader la frame parent?
    Par mythtvtalk.com dans le forum ASP
    Réponses: 3
    Dernier message: 27/08/2003, 11h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo