Aide fonction javascript popup+recup donnée

Résolu
drogba7213 Messages postés 1524 Date d'inscription   Statut Membre Dernière intervention   -  
Passarinho44 Messages postés 963 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Voila j'ai un soucis depuis plusieurs jours je n'arrive pas a véhiculer une donnée dans mon popup
Si vous voulez je peut vous donner une partie de mon code de la page concernée car hélas j'ai l'impression qu'il y aura que comme ca que quelqu'un pourra m'aider.

Aider moi svp

merci d'avance
A voir également:

39 réponses

Passarinho44 Messages postés 963 Date d'inscription   Statut Contributeur Dernière intervention   132
 
Oui je pense qu'un peu de code peut nous aider :)
0
drogba7213 Messages postés 1524 Date d'inscription   Statut Membre Dernière intervention   21
 
alors ...

Je sais que ce n'est pas très propre je veut qu'il soit fonctionnel et après je le coderais proprment.

En gros on voit bien qu'il y a un tableau et une colone radio je souhaite juste récupéré la valeur du radio coché par l'utilisateur quand il clic sur le bouton modifier ou supprimer.

S'il vous faut plus d'exlpication dites le moi.

<html>
<!################################################################################################################################>

<head>

<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">

<title>Utilisateur</title>

<link rel="stylesheet" media="screen" type="text/css" title="identification" href="Application.css">

<script language="Javascript">

function ouvreFenetreModifier()
{
valeurCheck=document.form.check.value;
valeurCheckDansLien="Modif_form.php?check="+valeurCheck;
window.open(valeurCheckDansLien,"",config='width=600, height=600, resizable=no, toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no');
}


function ouvreFenetreSupprimer()
{
valeurCheck=document.form.check.value;
valeurCheckDansLien="Del_arret.php?check="+valeurCheck;
window.open(valeurCheckDansLien,"",config='width=600, height=250, resizable=no, toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no');
}
</script>


</head>

<!################################################################################################################################>
<body onload="runClock()">
<form method="post" name="form">

<!--------------- Bannière --------------->

<div id="ban2" > </div>

<!--------------- Boutton --------------->

<div style="text-align: center;">

<input name="lien4" value="Imprimer" onclick="edition();return false;"type="button">

<input name="lien1" value="Arrêt chaîne" onclick="window.open('Form_utilisateur.php', 'utilisateur', config='width=600, height=600, resizable=no, toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no');" type="button">

<input type="button" name="lien2" value="Modifier" onClick="ouvreFenetreModifier();">

<input type="button" name="lien3" value="Supprimer" onClick="ouvreFenetreSupprimer();">

</div>

<br>

<!--------------- Heure défilant --------------->

<div id="time"></div>
<!--------------- Tableau de gestion des arrêts chaîne --------------->
<?php

require('Connexion.php');
require('Requete.php');

//--------------- Requete du tableau des arrêts chaîne ---------------//

$sql0="SELECT * FROM ARRET_CHAINE WHERE DEBUT =#$date#";

$rs = odbc_exec($conn,$sql0) or die('Erreur SQL : <br />'.$sql0);

//--------------- Tableau des arrêts chaîne ---------------//

echo "<div style='overflow-y: scroll; height: 305'> ";

echo "<table border='0' cellpadding='0' cellspacing='0' width='500'>";
echo "<tbody>";
echo "<tr>";

echo "<table style='width: 968px; height: 60px;' border='5' cellpadding='2' cellspacing='1'>"; // Taille du tableau //
echo "<tbody>";

echo "<tr>";
echo "<td class='table-titre' colspan='9'> Ouverture: $ouverture Cadence: $cadence Taktime: $total </td>";
echo "</tr>";


echo "<tr>";
echo "<td class='table-entete-centre' width='20'>Choix</td>";
echo "<td class='table-entete-centre' width='20'>Type</td>";
echo "<td class='table-entete-centre' width='20'>Début</td>";
echo "<td class='table-entete-centre' width='20'>Fin</td>";
echo "<td class='table-entete-centre' width='20'>Constat</td>";
echo "<td class='table-entete-centre' width='20'>Demande </td>";
echo "<td class='table-entete-centre' width='20'>Cause</td>";
echo "<td class='table-entete-centre' width='20'>Information</td>";
echo "<td class='table-entete-centre' width='20'>Imputation</td>";
echo "</tr>";


while (odbc_fetch_row($rs))
{
$CHOIX = odbc_result($rs,"NUMERO_ARRET_CHAINE");
$TYPE=odbc_result($rs,"TYPE");
$DEBUT=odbc_result($rs,"HEURE_DEBUT");
$FIN=odbc_result($rs,"HEURE_FIN");
$CONSTAT=odbc_result($rs,"CONSTAT");
$DEMANDE=odbc_result($rs,"DEMANDE");
$CAUSE=odbc_result($rs,"CAUSE");
$INFO=odbc_result($rs,"COMPLEMENT_INFORMATION");
$IMPUTATION=odbc_result($rs,"IMPUTATION");

echo "<tr>";
echo "<td class='table-ligne1-centre' width='100'> <input type=\"radio\" name=\"check\" value='".$CHOIX."'> </td>";
echo "<td class='table-ligne1-centre' width='100'>$TYPE</td>";
echo "<td class='table-ligne1-centre' width='100'>$DEBUT</td>";
echo "<td class='table-ligne1-centre' width='100'>$FIN</td>";
echo "<td class='table-ligne1-centre' width='100'>$CONSTAT</td>";
echo "<td class='table-ligne1-centre' width='100'>$DEMANDE</td>";
echo "<td class='table-ligne1-centre' width='100'>$CAUSE</td>";
echo "<td class='table-ligne1-centre' width='100'>$INFO</td>";
echo "<td class='table-ligne1-centre' width='100'>$IMPUTATION</td>";
echo "</tr>";
}

echo "</tbody>";
echo "</table>";

echo "</tr>";
echo "</tbody>";
echo "</table>";

echo "</div>";

//--------------- Tableau des informations générales de la journée ---------------//

echo "<br>";

echo "<table border='0' cellpadding='0' cellspacing='0' width='500'>";
echo "<tbody>";

echo "<table style='width: 500px; height: 90px;' border='5' cellpadding='2' cellspacing='1'>";

echo "<tr>";
echo "<td class='table-titre' colspan='13'> Infos en temps réel </td>";
echo "</tr>";

//--------------- En tete de colonne ---------------//

echo "<tr>";
echo "<td class='table-entete' width='1'>Nombre d'arrêt </td>";
echo "<td class='table-entete' width='1'>Durée perdu </td>";
echo "<td class='table-entete-centre' width='20'>Pertes TA </td>";
echo "<td class='table-entete-centre' width='20'></td>";
echo "<td class='table-entete-centre' width='20'>Info </td>";
echo "<td class='table-entete-centre' width='20'>Trou </td>";
echo "<td class='table-entete-centre' width='20'></td>";
echo "<td class='table-entete-centre' width='50'>Durée total perdu </td>";
echo "<td class='table-entete-centre' width='50'>TA total perdu </td>";
echo "</tr>";

//--------------- RESULTATS ---------------//

echo "<tr>";
echo "<td class='table-ligne1-centre' width='100'> $my_array[0] </td>";
echo "<td class='table-ligne1-centre' width='100'> $dureeperdu </td>";
echo "<td class='table-ligne1-centre' width='100'> $perteTA </td>";
echo "<td class='table-ligne1-centre' width='2'></td>";
echo "<td class='table-ligne1-centre' width='100'> $dureeinfo </td>";
echo "<td class='table-ligne1-centre' width='100'> $resultat </td>";
echo "<td class='table-ligne1-centre' width='2'></td>";
echo "<td class='table-ligne1-centre' width='100'> $totalduree </td>";
echo "<td class='table-ligne1-centre' width='100'> $pertetotaleTA </td>";
echo "</tr>";

echo "</tbody>";

echo "</table>";

//--------------- Fermeture de la bdd ---------------//

odbc_close($conn);

?>

<!--------------- Fin page utilisateur --------------->
</form>
</body>

</html>
0
Passarinho44 Messages postés 963 Date d'inscription   Statut Contributeur Dernière intervention   132
 
Essaie de rajouter
alert(valeuCheck); 

entre
valeurCheck=document.form.check.value;

et
valeurCheckDansLien="Modif_form.php?check="+valeurCheck; 

Pour voir déjà si tu récupère bien la bonne valeur.

Après dis moi, tu as quoi dans la barre d'adresse de la fenêtre qui apparait?
Parce que à première vu ça devrait fonctionner même si je ne connais pas toutes les subtilités de la fonction window.open()
0
drogba7213 Messages postés 1524 Date d'inscription   Statut Membre Dernière intervention   21
 
donc depuis que j'ai rajouter la ligne j'ai une erreur qui me dit undefinned

et quand la fenetre s'ouvre

la barre d'adresse est


http://127.0.0.1/Logiciel/Modif_form.php?check=undefined
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Passarinho44 Messages postés 963 Date d'inscription   Statut Contributeur Dernière intervention   132
 
Pour récupérer un objet en Javascript, il est plutot conseillé d'utiliser la fonction getElementById
Donc remplace ton :
<input type=\"radio\" name=\"check\" value='".$CHOIX."'>

par :
<input type=\"radio\" id=\"check\" name=\"check\" value='".$CHOIX."' />

Et pour récupérer la valeur tu remplaces :
valeurCheck=document.form.check.value; 

par :
valeurCheck=document.getElementById('check').value;

Et enfin tu essaies d'afficher avec le
alert(valeurCheck);

que je t'ai mis tout à l'heure

Je ne sais pas si ça va changer grand chose ... Mais ça ne coute rien d'essayer ^^

Perso j'ai fait ce petit test :
<input type="radio" id="test" value="teeest" />
<input type="button" value="test" onclick="alert(document.getElementById('test').value);" />

Et j'ai bien une petite popup avec teeest
0
drogba7213 Messages postés 1524 Date d'inscription   Statut Membre Dernière intervention   21
 
donc j'ai tout modifier et ....

J'y est cru un instant mais non

Ca me renvoie toujours le meme est ce normal?

Meme si ca ne fonctionne pas au moins il y a de l'amélioration puisque déja je récupère une valeur ca fait plaisir.

Par conttre je ne vois pas pourquoi il récupère que la première
bizarre non?
0
drogba7213 Messages postés 1524 Date d'inscription   Statut Membre Dernière intervention   21
 
vous etes la?
0
Passarinho44 Messages postés 963 Date d'inscription   Statut Contributeur Dernière intervention   132
 
Oui c'est normal, ta fonction ne sait pas quel bouton radio choisir alors elle choisit le premier..

Il faut que tu les différencie et que tu lui précise laquelle choisir
0
drogba7213 Messages postés 1524 Date d'inscription   Statut Membre Dernière intervention   21
 
vous avez un conseil a me donner??
car je ne vois pas trop comment appellé un bouton radio dans une boucle...
0
Passarinho44 Messages postés 963 Date d'inscription   Statut Contributeur Dernière intervention   132
 
Alors le mieux je pense est de lui donner un :
id=\"check_" . $i . "\"
et d'incrémenter ce $i à chaque ligne du tableau (donc à chaque tour dans la boucle des résultats)
Ensuite en Javascript, récupérer la valeur avec document.getElementById('check_' + i).value où i sera incrémenté comme le $i dans une boucle.

Après pour chaque valeur, il faut vérifier si le bouton radio est bien sélectionné (ça je ne sais pas faire par contre :s )

Et s'il est sélectioné, tu le met dans la variable valeurCheck.
0
drogba7213 Messages postés 1524 Date d'inscription   Statut Membre Dernière intervention   21
 
Voila j'ai un petit peu avancer et je vien de voir ton post qui correspond a ma réflexion

alors dans le tableau je fais

echo "<td class='table-ligne1-centre' width='100'> <input type=\"radio\" id=\"check_" . $i++ . "\" name=\"check\" value='".$CHOIX."' /> </td>";

et j'ai modifié ma fonction

function ouvreFenetreModifier()
{
valeurCheckDansLien=""
TabChecks=document.getElementsByName('check');
TCL=TabChecks.length();
for(i=0;i<TCL;i++){ // ici on parcourre les elements pour savoir lequel est coché
if(TabChecks[i].checked){
valeurCheckDansLien="Modif_form.php?check="+TabChecks[i].value;
}
if(valeurCheckDansLien.length>0){// si un radio est coché
window.open(valeurCheckDansLien,"","");
}
else {alert("pas de checks selectionné !")} //si pas de radio coché

}

Alors vu que j'y connais rien en JS c'est du bidouillage bref j'espèrais qu'elle fonctionne mais hélas la fenetre quand je clic sur le bouton modifier ne s'ouvre

sauriez vous pourquoi?
0
Passarinho44 Messages postés 963 Date d'inscription   Statut Contributeur Dernière intervention   132
 
Je vais reprendre ton code, le tester et je vais essayer de le corriger ^^
0
drogba7213 Messages postés 1524 Date d'inscription   Statut Membre Dernière intervention   21
 
je te le remet en entier alors?

<html>
<!################################################################################################################################>

<head>

<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">

<title>Utilisateur</title>

<link rel="stylesheet" media="screen" type="text/css" title="identification" href="Application.css">

<script language="Javascript">

function ouvreFenetreModifier()
{
valeurCheckDansLien=""
TabChecks=document.getElementsByName('check');
TCL=TabChecks.length();
for(i=0;i<TCL;i++){ // ici on parcourre les elements pour savoir lequel est coché
if(TabChecks[i].checked){
valeurCheckDansLien="Modif_form.php?check="+TabChecks[i].value;
}
if(valeurCheckDansLien.length>0){// si un radio est coché
window.open(valeurCheckDansLien,"","");
}
else {alert("pas de checks selectionné !")} //si pas de radio coché

}


function ouvreFenetreSupprimer()
{
valeurCheck=document.getElementById('check').value;
valeurCheckDansLien="Del_arret.php?check="+valeurCheck;
window.open(valeurCheckDansLien,"",config='width=600, height=250, resizable=no, toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no');
}
</script>



</head>

<!################################################################################################################################>
<body onload="runClock()">
<form method="post" name="form">

<!--------------- Bannière --------------->

<div id="ban2" > </div>

<!--------------- Boutton --------------->

<div style="text-align: center;">

<input name="lien1" value="Arrêt chaîne" onclick="window.open('Form_utilisateur.php', 'utilisateur', config='width=600, height=600, resizable=no, toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no');" type="button">
  
<input type="button" name="lien2" value="Modifier" onClick="ouvreFenetreModifier();">
  
<input type="button" name="lien3" value="Supprimer" onClick="ouvreFenetreSupprimer();">
  
<input name="lien4" value="Imprimer" onclick="edition();return false;"type="button">

</div>

<br>

<!--------------- Heure défilant --------------->

<div id="time"></div>
<!--------------- Tableau de gestion des arrêts chaîne --------------->
<?php

require('Connexion.php');
require('Requete.php');

//--------------- Requete du tableau des arrêts chaîne ---------------//

$sql0="SELECT * FROM ARRET_CHAINE WHERE DEBUT =#$date#";

$rs = odbc_exec($conn,$sql0) or die('Erreur SQL : <br />'.$sql0);

//--------------- Tableau des arrêts chaîne ---------------//

echo "<div style='overflow-y: scroll; height: 305'> ";

echo "<table border='0' cellpadding='0' cellspacing='0' width='500'>";
echo "<tbody>";
echo "<tr>";

echo "<table style='width: 968px; height: 60px;' border='5' cellpadding='2' cellspacing='1'>"; // Taille du tableau //
echo "<tbody>";

echo "<tr>";
echo "<td class='table-titre' colspan='9'> Ouverture: $ouverture      Cadence: $cadence      Taktime: $total </td>";
echo "</tr>";


echo "<tr>";
echo "<td class='table-entete-centre' width='20'>Choix</td>";
echo "<td class='table-entete-centre' width='20'>Type</td>";
echo "<td class='table-entete-centre' width='20'>Début</td>";
echo "<td class='table-entete-centre' width='20'>Fin</td>";
echo "<td class='table-entete-centre' width='20'>Constat</td>";
echo "<td class='table-entete-centre' width='20'>Demande </td>";
echo "<td class='table-entete-centre' width='20'>Cause</td>";
echo "<td class='table-entete-centre' width='20'>Information</td>";
echo "<td class='table-entete-centre' width='20'>Imputation</td>";
echo "</tr>";

while (odbc_fetch_row($rs))
{
$CHOIX = odbc_result($rs,"NUMERO_ARRET_CHAINE");
$TYPE=odbc_result($rs,"TYPE");
$DEBUT=odbc_result($rs,"HEURE_DEBUT");
$FIN=odbc_result($rs,"HEURE_FIN");
$CONSTAT=odbc_result($rs,"CONSTAT");
$DEMANDE=odbc_result($rs,"DEMANDE");
$CAUSE=odbc_result($rs,"CAUSE");
$INFO=odbc_result($rs,"COMPLEMENT_INFORMATION");
$IMPUTATION=odbc_result($rs,"IMPUTATION");

echo "<tr>";
echo "<td class='table-ligne1-centre' width='100'> <input type=\"radio\" id=\"check_" .$i++. "\" name=\"check\" value='".$CHOIX."' /> </td>";
echo "<td class='table-ligne1-centre' width='100'>$TYPE</td>";
echo "<td class='table-ligne1-centre' width='100'>$DEBUT</td>";
echo "<td class='table-ligne1-centre' width='100'>$FIN</td>";
echo "<td class='table-ligne1-centre' width='100'>$CONSTAT</td>";
echo "<td class='table-ligne1-centre' width='100'>$DEMANDE</td>";
echo "<td class='table-ligne1-centre' width='100'>$CAUSE</td>";
echo "<td class='table-ligne1-centre' width='100'>$INFO</td>";
echo "<td class='table-ligne1-centre' width='100'>$IMPUTATION</td>";
echo "</tr>";
}

echo "</tbody>";
echo "</table>";

echo "</tr>";
echo "</tbody>";
echo "</table>";

echo "</div>";

//--------------- Tableau des informations générales de la journée ---------------//

echo "<br>";

echo "<table border='0' cellpadding='0' cellspacing='0' width='500'>";
echo "<tbody>";

echo "<table style='width: 500px; height: 90px;' border='5' cellpadding='2' cellspacing='1'>";

echo "<tr>";
echo "<td class='table-titre' colspan='13'> Infos en temps réel </td>";
echo "</tr>";

//--------------- En tete de colonne ---------------//

echo "<tr>";
echo "<td class='table-entete' width='1'>Nombre d'arrêt </td>";
echo "<td class='table-entete' width='1'>Durée perdu </td>";
echo "<td class='table-entete-centre' width='20'>Pertes TA </td>";
echo "<td class='table-entete-centre' width='20'></td>";
echo "<td class='table-entete-centre' width='20'>Info </td>";
echo "<td class='table-entete-centre' width='20'>Trou </td>";
echo "<td class='table-entete-centre' width='20'></td>";
echo "<td class='table-entete-centre' width='50'>Durée total perdu </td>";
echo "<td class='table-entete-centre' width='50'>TA total perdu </td>";
echo "</tr>";

//--------------- RESULTATS ---------------//

echo "<tr>";
echo "<td class='table-ligne1-centre' width='100'> $my_array[0] </td>";
echo "<td class='table-ligne1-centre' width='100'> $dureeperdu </td>";
echo "<td class='table-ligne1-centre' width='100'> $perteTA </td>";
echo "<td class='table-ligne1-centre' width='2'></td>";
echo "<td class='table-ligne1-centre' width='100'> $dureeinfo </td>";
echo "<td class='table-ligne1-centre' width='100'> $resultat </td>";
echo "<td class='table-ligne1-centre' width='2'></td>";
echo "<td class='table-ligne1-centre' width='100'> $totalduree </td>";
echo "<td class='table-ligne1-centre' width='100'> $pertetotaleTA </td>";
echo "</tr>";

echo "</tbody>";

echo "</table>";

//--------------- Fermeture de la bdd ---------------//

odbc_close($conn);

?>

<!--------------- Fin page utilisateur --------------->
</form>
</body>

</html>
0
Passarinho44 Messages postés 963 Date d'inscription   Statut Contributeur Dernière intervention   132
 
Non c'est bon juste la fonction et le bouton ça me suffit ^^
0
spongebob
 
C'est simple mais la flemme d'aiD
0
drogba7213 Messages postés 1524 Date d'inscription   Statut Membre Dernière intervention   21
 
lol spongebob c'est assez constructif comme réponse ca mdr

Mais bon c'est ton choix
0
Passarinho44 Messages postés 963 Date d'inscription   Statut Contributeur Dernière intervention   132
 
Ouas j'avoue spongebob ... :p

Bon en attendant moi j'ai pas eu la flemme ^^

Voilà la fonction qui fonctionne (chez moi en tout cas ^^ )

function ouvreFenetreModifier()
{
valeurCheckDansLien="";
TabChecks=document.getElementsByName('check');
TCL=TabChecks.length;
for( var i=0;i<TCL;i++) { // ici on parcourre les elements pour savoir lequel est coché
if(TabChecks[i].checked) {
valeurCheckDansLien="Modif_form.php?check="+TabChecks[i].value;
}
}
if( valeurCheckDansLien.length > 0){// si un radio est coché
widow.open(valeurCheckDansLien, "", "");
} else {
alert("pas de checks selectionné !") //si pas de radio coché
}

}


J'ai remplacé TCL=TabChecks.length() ;
par : TCL=TabChecks.length;

Et je crois qu'il y avait une erreur dans l'ouverture/fermeture de boucle.
La boucle for() { } englobait les si, ce qui posait problème ^^

Dis moi si ça fonctionne

Sinon ton bidouillage était pas mal :)
0
drogba7213 Messages postés 1524 Date d'inscription   Statut Membre Dernière intervention   21
 
Bah hélas je peut pas te dire si ca fonctionne car la fenetre quand je clique sur modifier la fenetre ne s'ouvre toujours pas
0
spongebob
 
Merci de compatir avec mon choix, sinon sa avance ton pb d'une simplicité hors du commun ?
0
Passarinho44 Messages postés 963 Date d'inscription   Statut Contributeur Dernière intervention   132
 
Remplace ça : widow.open(valeurCheckDansLien, "", "");
Par : alert(valeurCheckDansLien);

Et dis moi déjà ce qui s'affiche dans la popup.
0
drogba7213 Messages postés 1524 Date d'inscription   Statut Membre Dernière intervention   21
 
hélas ca avance mais on ne voit pas le résultat lol

C'est si simple que ca???
0
drogba7213 Messages postés 1524 Date d'inscription   Statut Membre Dernière intervention   21
 
désolé j'avais pas vu ta réponse lol

Rien ne se passe toujours pas de popup qui s'ouvre
0