Boite de dialogue ne fonctionne pas
mathoo
-
thilde -
thilde -
Bonjour,
voila mon code : (en cliquant sur mon image j'appelle une fonction javascript pour afficher un message)
- partie php
echo"<td><img src='images/modif.jpg' title='modifier la validation' border='0' onclick='confirmation(".$rowEnqueteDate['SUI_ID'].",".$date.")'></td>";
- partie javascript
function confirmation(id, date)
{
if(confirme("Voulez vraiment modifier la validation ?"))
{
document.location="index.php?page=modifValidation&id="+id"&date="+date;
}
else
{
document.location="index.php?page=verifRechercheDate&id="+id"&date="+date;
}
}
et voila mon problème :
lorsque je clic sur mon image rien ne se passe
j'ai du faire une erreur dans ma syntaxe mais je ne la trouve pas
vous qui avez un regard extérieur vous pouvez peut etre m'aider
merci à tous
voila mon code : (en cliquant sur mon image j'appelle une fonction javascript pour afficher un message)
- partie php
echo"<td><img src='images/modif.jpg' title='modifier la validation' border='0' onclick='confirmation(".$rowEnqueteDate['SUI_ID'].",".$date.")'></td>";
- partie javascript
function confirmation(id, date)
{
if(confirme("Voulez vraiment modifier la validation ?"))
{
document.location="index.php?page=modifValidation&id="+id"&date="+date;
}
else
{
document.location="index.php?page=verifRechercheDate&id="+id"&date="+date;
}
}
et voila mon problème :
lorsque je clic sur mon image rien ne se passe
j'ai du faire une erreur dans ma syntaxe mais je ne la trouve pas
vous qui avez un regard extérieur vous pouvez peut etre m'aider
merci à tous
A voir également:
- Boite de dialogue ne fonctionne pas
- Dialogue boost - Accueil - Guide streaming
- Se connecter à ma boite hotmail - Guide
- Boite gmail pleine - Guide
- Boite gmail bloquée - Guide
- Boite a couleur - Télécharger - Divers Photo & Graphisme
12 réponses
function confirmation( id, date )
{
if( confirm( "Voulez vraiment modifier la validation ?" ) )
document.location = "index.php?page=modifValidation&id=" + id + "&date=" + date;
else
document.location = "index.php?page=verifRechercheDate&id=" + id + "&date=" +date;
}
Essaye donc avec cette version du script.
Pour trouver les erreurs j'ai utilisé la méthode suivante :
1. réécrit le script en respectant les indentations entre les différents blocs et insérant des espaces pour séparer les opérateurs des arguments
2. inséré des appels de Alert( "coucou" ); pour voir où ça coinçait.
{
if( confirm( "Voulez vraiment modifier la validation ?" ) )
document.location = "index.php?page=modifValidation&id=" + id + "&date=" + date;
else
document.location = "index.php?page=verifRechercheDate&id=" + id + "&date=" +date;
}
Essaye donc avec cette version du script.
Pour trouver les erreurs j'ai utilisé la méthode suivante :
1. réécrit le script en respectant les indentations entre les différents blocs et insérant des espaces pour séparer les opérateurs des arguments
2. inséré des appels de Alert( "coucou" ); pour voir où ça coinçait.
merci cela fonctionne
en comparant mon code et le tiens j'ai trouvé mon erreur :
j'ai mis "confirme" au lieu de "confirm"
voila encore une erreur idiote, un manque d'attention !!
en comparant mon code et le tiens j'ai trouvé mon erreur :
j'ai mis "confirme" au lieu de "confirm"
voila encore une erreur idiote, un manque d'attention !!
un autre problème apparait et auquel je n'avais pas du tout pensé !!
lorsque je passe ma date dans ma fonction javascript celle-ci se converti
expl : je passe en parametre 01/2008 et elle se traduit par 0.00049800796812749
comment puis-je récupérer ma valeur initiale (01/2008) ??
lorsque je passe ma date dans ma fonction javascript celle-ci se converti
expl : je passe en parametre 01/2008 et elle se traduit par 0.00049800796812749
comment puis-je récupérer ma valeur initiale (01/2008) ??
01/2008 est équivalent à 1 divisé par 2008 soit la valeur constaté.
Passe cet argument comme une chaine de caractères.
Passe cet argument comme une chaine de caractères.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
oui je suis d'accord
je dois donc mettre des ' ' qui entoure ma variable date ?
onclick='confirmation(".$rowEnqueteDate['SUI_ID'].",'".$date."')
mais j'ai de nouveau le premier problème : lorsque je clic sur l'image, rien ne se passe et ma boite de dialogue ne s'affiche plus
avez vous une solution ??
je dois donc mettre des ' ' qui entoure ma variable date ?
onclick='confirmation(".$rowEnqueteDate['SUI_ID'].",'".$date."')
mais j'ai de nouveau le premier problème : lorsque je clic sur l'image, rien ne se passe et ma boite de dialogue ne s'affiche plus
avez vous une solution ??
onclick='confirmation(".$rowEnqueteDate['SUI_ID'].",'".$date."') n'est pas correct car les guillemets simples et doubles ne se correspondent pas.
onclick = "confirmation( $rowEnqueteDate[ 'SUI_ID' ], $date )" devrait être mieux mais je ne puis être formel sans savoir ce que sont les variables $rowEnqueteDate et $date.
onclick = "confirmation( $rowEnqueteDate[ 'SUI_ID' ], $date )" devrait être mieux mais je ne puis être formel sans savoir ce que sont les variables $rowEnqueteDate et $date.
bonjour à tous,
je relance mon probleme
sur le clic d'un bouton j'appelle une fonction javascript en passant en paramêtre deux variables dont une date de type 01/2008
le souci c'est que javascript comprend 1 divisé par 2008 et non une date
quelle est la syntaxe correcte pour passer ma variable comme une chaine de caractères ?
echo"<td><img src='images/modif.jpg' title='modifier la validation' border='0' onclick = 'confirmation(".$rowEnqueteDate['SUI_ID'].", $date )'></td>";
echo"<td><img src='images/modif.jpg' title='modifier la validation' border='0' onclick = 'confirmation(".$rowEnqueteDate['SUI_ID'].", ".$date.")'></td>";
ces deux formulations me renvoie 0.00049800796812749 au lieu de 01/2008
merci de votre aide
je relance mon probleme
sur le clic d'un bouton j'appelle une fonction javascript en passant en paramêtre deux variables dont une date de type 01/2008
le souci c'est que javascript comprend 1 divisé par 2008 et non une date
quelle est la syntaxe correcte pour passer ma variable comme une chaine de caractères ?
echo"<td><img src='images/modif.jpg' title='modifier la validation' border='0' onclick = 'confirmation(".$rowEnqueteDate['SUI_ID'].", $date )'></td>";
echo"<td><img src='images/modif.jpg' title='modifier la validation' border='0' onclick = 'confirmation(".$rowEnqueteDate['SUI_ID'].", ".$date.")'></td>";
ces deux formulations me renvoie 0.00049800796812749 au lieu de 01/2008
merci de votre aide
Je te répête ma question qui n'a pour but que de t'aider : qu'est-ce-que la variable $date ? d'où viennt-elle ?
Tu peux déterminer son type par la fonction PHP gettype et je parierais qu'elle est de type float. Ce type découlant de la manière dont tu initialises $date.
Examine et comprends l'exemple ci-dessous :
<?php
$date = "01/2008"; // affiche 01/2008>string
echo $date . ">" . gettype( $date );
$date = (float)$date; // affiche 1>double
echo "<br>" . $date . ">" . gettype( $date );
$date = 1.0 / 2008.; // affiche 0.00049800796812749>double
echo "<br>" . $date . ">" . gettype( $date );
?>
Après celà tu trouveras la solution adaptée à ton script.
Tu peux déterminer son type par la fonction PHP gettype et je parierais qu'elle est de type float. Ce type découlant de la manière dont tu initialises $date.
Examine et comprends l'exemple ci-dessous :
<?php
$date = "01/2008"; // affiche 01/2008>string
echo $date . ">" . gettype( $date );
$date = (float)$date; // affiche 1>double
echo "<br>" . $date . ">" . gettype( $date );
$date = 1.0 / 2008.; // affiche 0.00049800796812749>double
echo "<br>" . $date . ">" . gettype( $date );
?>
Après celà tu trouveras la solution adaptée à ton script.
je récupère dans $date une date saisie dans un formulaire input type="text" de la forme MM/AAAA
cependant, cette même date circule dans plusieurs page
donc au début de mon php je test :
if(isset($_GET['date']))
{
$date = $_GET['date'];
}
else
{
$date = $_POST['date'];
}
et c'est donc ce $date que je passe dans mon script php
cependant, cette même date circule dans plusieurs page
donc au début de mon php je test :
if(isset($_GET['date']))
{
$date = $_GET['date'];
}
else
{
$date = $_POST['date'];
}
et c'est donc ce $date que je passe dans mon script php
laquelle de suggestion ?
car j'ai testé toute les propositions mais j'arrive toujours au même point ca divise 1 par 2008 !!
j'ai bien testé le type de ma variable c'est un string mais une fois passé dans javascript...rien ne va plus ^^
je désespère
car j'ai testé toute les propositions mais j'arrive toujours au même point ca divise 1 par 2008 !!
j'ai bien testé le type de ma variable c'est un string mais une fois passé dans javascript...rien ne va plus ^^
je désespère
Surtut ne pas se désespérer : la solution est à ta portée mais je pense qu'il faut que tu agisse logiquement et par étape pour trouver ton erreur.
<head>
<script language="JavaScript">
function confirmation(id, date)
{
alert("coucou");
if( confirm("Voulez vraiment modifier la validation ?") )
{
document.location="temp.php?page=modifValidation&id="+id+"&date="+date;
}
else
{
document.location="temp.php?page=verifRechercheDate&id="+id+"&date="+date;
}
}
</script>
</head>
<body>
<?php
var_dump( $_GET );
$date="1/2008";
echo "<img src='images/modif.jpg' border='0' onClick='javascript:confirmation( \"idBidon\", \"$date\" )'>";
?>
</body>
Le php ci-dessus marche bien : var_dump( $_GET ) affiche : { ["page"]=> string(15) "modifValidation" ["id"]=> string(7) "idBidon" ["date"]=> string(6) "1/2008" } qui montre bien que le script appelé via javascript reçoit bien le param date en string.
Par contre, si tu initialise $date par : $date = 1/2008, le paramètre est numérique.
Pour trouver ton pb, deux possibilités :
1. retrousser tes manches (i.e. tes cellules grises) et suivre le type de ta variable $date par des appels de gettype en plusiieurs endroits de manière à trouver où ta variable passe en type numérique.
2. m'envoyer le source de ton script
<head>
<script language="JavaScript">
function confirmation(id, date)
{
alert("coucou");
if( confirm("Voulez vraiment modifier la validation ?") )
{
document.location="temp.php?page=modifValidation&id="+id+"&date="+date;
}
else
{
document.location="temp.php?page=verifRechercheDate&id="+id+"&date="+date;
}
}
</script>
</head>
<body>
<?php
var_dump( $_GET );
$date="1/2008";
echo "<img src='images/modif.jpg' border='0' onClick='javascript:confirmation( \"idBidon\", \"$date\" )'>";
?>
</body>
Le php ci-dessus marche bien : var_dump( $_GET ) affiche : { ["page"]=> string(15) "modifValidation" ["id"]=> string(7) "idBidon" ["date"]=> string(6) "1/2008" } qui montre bien que le script appelé via javascript reçoit bien le param date en string.
Par contre, si tu initialise $date par : $date = 1/2008, le paramètre est numérique.
Pour trouver ton pb, deux possibilités :
1. retrousser tes manches (i.e. tes cellules grises) et suivre le type de ta variable $date par des appels de gettype en plusiieurs endroits de manière à trouver où ta variable passe en type numérique.
2. m'envoyer le source de ton script
bonjour,
merci croy pour toutes tes explications, j'ai enfin réussi a faire passer ma variable correctement
ce n'était qu'une histoire de guillemets que je n'arrivai pas à positionner,
après de nombreuses tentatives voila ma solution :
echo '<td><img src="images/modif.jpg" title="modifier la validation" border="0" onclick="confirmation('.$rowEnqueteDate['SUI_ID'].',\''.$date.'\')"></td>';
merci pour ton aide, bonne journée ;)
merci croy pour toutes tes explications, j'ai enfin réussi a faire passer ma variable correctement
ce n'était qu'une histoire de guillemets que je n'arrivai pas à positionner,
après de nombreuses tentatives voila ma solution :
echo '<td><img src="images/modif.jpg" title="modifier la validation" border="0" onclick="confirmation('.$rowEnqueteDate['SUI_ID'].',\''.$date.'\')"></td>';
merci pour ton aide, bonne journée ;)