Variable javascript retourne toujours une valeur nulle [Résolu/Fermé]

Signaler
Messages postés
127
Date d'inscription
lundi 31 octobre 2016
Statut
Membre
Dernière intervention
20 juin 2017
-
Messages postés
127
Date d'inscription
lundi 31 octobre 2016
Statut
Membre
Dernière intervention
20 juin 2017
-
Bonjour,
Je veux exécuter un code javascript suivant une variable php que j'ai nommé $ot_commence, j'explique: si ma variable $ot_commence est nulle je fais une redirection à une page creation.php , sinon je fais une redirection à une page edit.php, la variable $ot_commence est déjà un résultat d'une requête sql, j'ai fait comme suit:
//requete qui affecte le resultat a $ot_commence, elle donne un affichage correcte
et après j'ai affecté la variable $ot_commence à une variable javascript que j'ai nommé otc

<script type="text/javascript">
var otc=<?php echo $ot_commence; ?>;
</script>

et après j'ai fait l'évennement sur les lignes de mon tableau, mais otc me renvoit toujours 0

<tr onmouseover="this.style.cursor='pointer'" onclick="alert(otc); if(otc===0) { window.location.replace('creation.php')} else { window.location.replace('edit.php')}" >

Est ce que vous pouvez m'aider svp ? je vous remercie d'avance



2 réponses


Bonjour

As-tu regardé le source généré (Ctrl-U) pour voir ce que PHP avait écrit à la place de ton
var otc=<?php echo $ot_commence; ?>;
?

D'ailleurs, je ne vois pas l'intérêt de ta variable javascript otc : pouquoi ne pas demander à php d'écrire directement le bon window.location.replace en fonction de $ot_commence ?
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63550 internautes nous ont dit merci ce mois-ci

Messages postés
127
Date d'inscription
lundi 31 octobre 2016
Statut
Membre
Dernière intervention
20 juin 2017

Bonjour,
voici le code de ma page, et le message mis à jour
Je veux exécuter un code javascript suivant une variable php que j'ai nommé $ot_commence, j'explique: si ma variable $ot_commence est nulle je fais une redirection à une page EditOt.php , sinon je fais une redirection à une page bonjour.php, la variable $ot_commence est déjà un résultat d'une requête sql, j'ai fait comme suit:
//requête qui affecte le résultat a $ot_commence, elle donne un affichage correcte
et après j'ai affecté la variable $ot_commence à une variable javascript que j'ai nommé otc


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>IN ADMIN PANEL | Powered by INDEZINER</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<script type="text/javascript" src="clockp.js"></script>
<script type="text/javascript" src="clockh.js"></script>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="ddaccordion.js"></script>
<script type="text/javascript">
ddaccordion.init({
headerclass: "submenuheader", //Shared CSS class name of headers group
contentclass: "submenu", //Shared CSS class name of contents group
revealtype: "click", //Reveal content when user clicks or onmouseover the header? Valid value: "click", "clickgo", or "mouseover"
mouseoverdelay: 200, //if revealtype="mouseover", set delay in milliseconds before header expands onMouseover
collapseprev: true, //Collapse previous content (so only one open at any time)? true/false
defaultexpanded: [], //index of content(s) open by default [index1, index2, etc] [] denotes no content
onemustopen: false, //Specify whether at least one header should be open always (so never all headers closed)
animatedefault: false, //Should contents open by default be animated into view?
persiststate: true, //persist state of opened contents within browser session?
toggleclass: ["", ""], //Two CSS classes to be applied to the header when it's collapsed and expanded, respectively ["class1", "class2"]
togglehtml: ["suffix", "<img src="" class='statusicon' />", "<img src="" class='statusicon' />"], //Additional HTML added to the header when it's collapsed and expanded, respectively ["position", "html1", "html2"] (see docs)
animatespeed: "fast", //speed of animation: integer in milliseconds (ie: 200), or keywords "fast", "normal", or "slow"
oninit:function(headers, expandedindices){ //custom code to run when headers have initalized
//do nothing
},
onopenclose:function(header, index, state, isuseractivated){ //custom code to run whenever a header is opened or closed
//do nothing
}
})
</script>

<script type="text/javascript" src="jconfirmaction.jquery.js"></script>
<script type="text/javascript">

$(document).ready(function() {
$('.ask').jConfirmAction();
});

</script>
<script language="javascript" type="text/javascript" src="niceforms.js"></script>
<link rel="stylesheet" type="text/css" media="all" href="niceforms-default.css" />
</head>
<body>
<div id="main_container">
<div class="header">
<div id="clock_a"></div>
</div>
<div class="main_content">
<div class="menu">
<ul>
<li><a href="#" rel="nofollow noopener noreferrer" target="_blank">Liste des OT Planifiés</a> </li>
<li><a href="ListeOTNonRealises.php?id=1234" rel="nofollow noopener noreferrer" target="_blank">Liste des OT En cours</a> </li>
<li><a href="ListeInterventions.php?id=1234 " rel="nofollow noopener noreferrer" target="_blank"> Liste des OT Réalisés</a> </li>
</ul>
</div>

<div class="center_content">
<div class="right_content">
<h2>Liste des OT Planifiés</h2>
<table id="rounded-corner" summary="2007 Major IT Companies' Profit">
<thead>
<tr>
<th scope="col" class="rounded">N° OT</th>
<th scope="col" class="rounded">Date</th>
<th scope="col" class="rounded">Client</th>

</tr>
</thead>
<tbody>
<script type="text/javascript">
var otc=16/000011;
</script>
<tr onmouseover="this.style.cursor='pointer'" onclick="alert(otc); if(otc===0) { window.location.replace('EditOT.php?id=123416/000016')} else { window.location.replace('bonjour.php')}" >

<td> 16/000016</td>
<td> 2016-12-16 </td>
<td> 41100008 | JENDOUBA </td>
</tr>
<tbody>
<script type="text/javascript">
var otc=16/000012;
</script>
<tr onmouseover="this.style.cursor='pointer'" onclick="alert(otc); if(otc===0) { window.location.replace('EditOT.php?id=123416/000017')} else { window.location.replace('bonjour.php')}" >

<td> 16/000017</td>
<td> 2016-12-16 </td>
<td> 41100037 | delta cuisine </td>
</tr>
<tbody>
<script type="text/javascript">
var otc=16/000015;
</script>
<tr onmouseover="this.style.cursor='pointer'" onclick="alert(otc); if(otc===0) { window.location.replace('EditOT.php?id=123416/000018')} else { window.location.replace('bonjour.php')}" >

<td> 16/000018</td>
<td> 2016-12-16 </td>
<td> 41100005 | SNCFT </td>
</tr>
<tbody>
<script type="text/javascript">
var otc=0;
</script>
<tr onmouseover="this.style.cursor='pointer'" onclick="alert(otc); if(otc===0) { window.location.replace('EditOT.php?id=123416/000019')} else { window.location.replace('bonjour.php')}" >

<td> 16/000019</td>
<td> 2016-12-16 </td>
<td> 41100077 | EPPM </td>
</tr>
<tbody>
<script type="text/javascript">
var otc=0;
</script>
<tr onmouseover="this.style.cursor='pointer'" onclick="alert(otc); if(otc===0) { window.location.replace('EditOT.php?id=123416/000022')} else { window.location.replace('bonjour.php')}" >

<td> 16/000022</td>
<td> 2016-12-16 </td>
<td> 41100077 | EPPM </td>
</tr>

</tbody>
</table>

</div><!-- end of right content-->
</div> <!--end of center content -->
<div class="clear"></div>
</div>
<div class="footer">
</div>

</div>
</body>
</html>
Messages postés
3668
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 janvier 2021
981
Ah, je n'avais pas vu ce fil, du coup j'ai répondu dans l'autre... Et au final je rejoins Le Père dans la solution apportée.
Messages postés
127
Date d'inscription
lundi 31 octobre 2016
Statut
Membre
Dernière intervention
20 juin 2017

Désolé, J'ai cru que j'ai supprimé ce post et poster un nouveau, vous m'avez répondu pour l'autre post ? il est supprimé par le modérateur :( pouvez vous me répondre ici svp ? je vous remercie bcp
Messages postés
3668
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 janvier 2021
981
(@lepère -> c'est le code HTML généré ici... Il avait posté le code php dans l'autre discussion, supprimée depuis)

Oui j'avais répondu et t'avais mis une solution... C'est abusé d'avoir tout supprimé...
Bref, j'essaie de reproduire.

Remplace ton code
<script type="text/javascript">
   var otc=<?php echo $ot_commence; ?>;
</script>
[...] <tr blabla onclick="tructruc" >

Par
<?php
   $onclick = "alert($ot_commence); ";
   if (0 == $ot_commence)
      $onclick .= "window.location.replace('EditOT.php?id=$kd')";
   else
      $onclick .= "window.location.replace('bonjour.php')";
?>
    <tr [...] onclick="<?php echo $onclick; ?>" >


(J'ai mis $kd... Je ne me souviens plus du nom de cette variable...)

Xavier
Messages postés
127
Date d'inscription
lundi 31 octobre 2016
Statut
Membre
Dernière intervention
20 juin 2017

Merci infiniment Mr, ça marche , merci aussi le père c super gentil de ré-écrire vos réponses :))

Il n'y a plus de $ot_commence dans le code que tu montres, c'est censé avoir un rapport avec ta question initiale ?
Messages postés
127
Date d'inscription
lundi 31 octobre 2016
Statut
Membre
Dernière intervention
20 juin 2017

J'ai obtenu ce code lorsque j'ai fait Ctrl+U, mais le code que j'ai écrit est le suivant :

<?php
include("connect.php");
$Code_Responsable=$_GET['id'];
$current_date=date('Y-m-j');
//echo $idListe;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>IN ADMIN PANEL | Powered by INDEZINER</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<script type="text/javascript" src="clockp.js"></script>
<script type="text/javascript" src="clockh.js"></script>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="ddaccordion.js"></script>
<script type="text/javascript">
ddaccordion.init({
headerclass: "submenuheader", //Shared CSS class name of headers group
contentclass: "submenu", //Shared CSS class name of contents group
revealtype: "click", //Reveal content when user clicks or onmouseover the header? Valid value: "click", "clickgo", or "mouseover"
mouseoverdelay: 200, //if revealtype="mouseover", set delay in milliseconds before header expands onMouseover
collapseprev: true, //Collapse previous content (so only one open at any time)? true/false
defaultexpanded: [], //index of content(s) open by default [index1, index2, etc] [] denotes no content
onemustopen: false, //Specify whether at least one header should be open always (so never all headers closed)
animatedefault: false, //Should contents open by default be animated into view?
persiststate: true, //persist state of opened contents within browser session?
toggleclass: ["", ""], //Two CSS classes to be applied to the header when it's collapsed and expanded, respectively ["class1", "class2"]
togglehtml: ["suffix", "<img src="" class='statusicon' />", "<img src="" class='statusicon' />"], //Additional HTML added to the header when it's collapsed and expanded, respectively ["position", "html1", "html2"] (see docs)
animatespeed: "fast", //speed of animation: integer in milliseconds (ie: 200), or keywords "fast", "normal", or "slow"
oninit:function(headers, expandedindices){ //custom code to run when headers have initalized
//do nothing
},
onopenclose:function(header, index, state, isuseractivated){ //custom code to run whenever a header is opened or closed
//do nothing
}
})
</script>

<script type="text/javascript" src="jconfirmaction.jquery.js"></script>
<script type="text/javascript">

$(document).ready(function() {
$('.ask').jConfirmAction();
});

</script>
<script language="javascript" type="text/javascript" src="niceforms.js"></script>
<link rel="stylesheet" type="text/css" media="all" href="niceforms-default.css" />
</head>
<body>
<div id="main_container">
<div class="header">
<div id="clock_a"></div>
</div>
<div class="main_content">
<div class="menu">
<ul>
<li><a href="#" rel="nofollow noopener noreferrer" target="_blank">Liste des OT Planifiés</a> </li>
<li><a href="ListeOTNonRealises.php?id=<?php echo $Code_Responsable; ?>">Liste des OT En cours</a> </li>
<li><a href="ListeInterventions.php?id=<?php echo $Code_Responsable; ?> "> Liste des OT Réalisés</a> </li>
</ul>
</div>

<div class="center_content">
<div class="right_content">
<h2>Liste des OT Planifiés</h2>
<table id="rounded-corner" summary="2007 Major IT Companies' Profit">
<thead>
<tr>
<th scope="col" class="rounded">N° OT</th>
<th scope="col" class="rounded">Date</th>
<th scope="col" class="rounded">Client</th>

</tr>
</thead>
<?php
$sql = "select NOrdredeTravail, DateCreation,RaisonSociale,CClient from GP_OrdredeTravail
where CSousTraitant='$Code_Responsable' and DateCreation='$current_date' order by DateCreation ASC";
$stmt = sqlsrv_query( $conn, $sql );
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC) )
{
?>
<tbody>
<?php
$ot_com="";
$lk= $Code_Responsable.$row[0];
//echo $lk;
$num_ordre_de_travail=$row[0];
$sql_ot_commence="select NRattachement from GP_Rattachement where NOrdredeTravail='$num_ordre_de_travail' ";
$stmt_ot_commence=sqlsrv_query($conn, $sql_ot_commence);
$rslt_ot_commence=sqlsrv_fetch_array($stmt_ot_commence, SQLSRV_FETCH_NUMERIC);
//var_dump($rslt_ot_commence);

if($rslt_ot_commence!== NULL)
{
$ot_commence=implode($ot_com, $rslt_ot_commence);
echo "<br> $ot_commence<br>";
}
else
{
$ot_commence=0;
echo "<br> $ot_commence <br>";
}

?>
<script type="text/javascript">
var otc=<?php echo $ot_commence; ?>;
</script>
<tr onmouseover="this.style.cursor='pointer'" onclick="alert(otc); if(otc===0) { window.location.replace('EditOT.php?id=<?php echo $lk; ?>')} else { window.location.replace('bonjour.php')}" >

<td> <?php echo $num_ordre_de_travail ?></td>
<td> <?php echo date_format($row[1], 'Y-m-d'); ?> </td>
<td> <?php echo $row[3]." | ".$row[2]; ?> </td>
</tr>
<?php
}
sqlsrv_free_stmt( $stmt);

?>
</tbody>
</table>

</div><!-- end of right content-->
</div> <!--end of center content -->
<div class="clear"></div>
</div>
<div class="footer">
</div>

</div>
</body>
</html>