Appel fonction JavaScript en PHP (pb guilmet)

Fermé
steve.bru Messages postés 15 Date d'inscription mardi 7 novembre 2006 Statut Membre Dernière intervention 11 juin 2008 - 11 juin 2008 à 08:15
djoyanna Messages postés 16 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 8 septembre 2008 - 12 juin 2008 à 16:36
Bonjour,

Je développe une application web en PHP/MySQL. Cette application possède un module de recherche qui va puiser des éléments dans la base de données. Chaque élément est un résultat, et une fois affiché, un bouton 'modifier' l'accompagne. Par contre, mon souci est que le lien pour modifier l'élément ne fonctionne pas. Ceci doit être un problème de guillmets, mais je n'en suis pas sur.

Pourriez-vous jeter un coup d'oeil a ces quelques lignes afin de me dire s'il y a des erreurs ou imprécisions ?

Appel de la fonction JS depuis la page HTML:
<a href='javascript:;' onClick='modifierAction(".$idAction.", ".$noArticle.", \''.$libelle.'\', ".$prixNormal.", ".$prixAction.", ".$nbPcKgParStandard.", \''.$emplacement.'\', \''.$standardCommande.'\', \''.$remarque.'\')'><img src='pics/modifier.png' alt='Modifier'></img></a>


--------

Fonction JS:
function modifierAction(idAction, noArticle, libelle, prixNormal, prixAction, nbPcKgParStandard, emplacement, standardCommande, remarque) {
    if (confirm('Modifier l\'ID action ' + idAction + ' de "actions" ?')) {
        location.href = "index.php?page=accueil&idAction=idAction&noArticle=noArticle&libelle=libelle&prixNormal=prixNormal&prixAction=prixAction&nbPcKgParStandard=nbPcKgParStandard&emplacement=emplacement&standardCommande=standardCommande&remarque=remarque";
    }
}


...

Alors est-ce un problème de guillmets ?
Ou autre ? Merci pour vos contributions !

Steve B.
A voir également:

3 réponses

Utilisateur anonyme
11 juin 2008 à 08:53
bonjour,
j'aurai plutôt mis :

<img src='pics/modifier.png' alt='Modifier' onClick='javascript:modifierAction(".$idAction.", ".$noArticle.", \''.$libelle.'\', ".$prixNormal.", ".$prixAction.", ".$nbPcKgParStandard.", \''.$emplacement.'\', \''.$standardCommande.'\', \''.$remarque.'\')'>
</img>

n.b. sans garantie
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
11 juin 2008 à 09:30
Si tu est dans du code en HTML il vaudrait mieux mettre les variables dans du php

<a href="javascript: onClick='modifierAction(".<?php echo $idAction.",".$noArticle.",".$libelle.",".$prixNormal.",".$prixAction.",".$nbPcKgParStandard.",".$emplacement.",".$standardCommande.",".$remarque.")"; ?>><img src='pics/modifier.png' alt='Modifier'></img></a>
0
djoyanna Messages postés 16 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 8 septembre 2008 1
12 juin 2008 à 16:36
bonjour
j'ai un soucis avec une fonction js appelé dans un script php5 :
j'ai devellopé questionnaire avec réponse prédefini dans menu déroulant et une option "autre" pour chaque question qui , si elle est selectionné , fait apparaitre un champs text d'insertion.
pour ce faire j'appel donc la fonction suivante qui permet de rendre visible ou non le champ text.

<script language="javascript">

function RendVisibleAutre(texte)
{

if (texte=="autre")
document.getElementById("test").style.visibility= 'visible';
else
document.getElementById("test").style.visibility= 'hidden';
}
</script>

mon problème est que mon questionnaire est dynamique. j'ai donc 1 BDD avec 3 tables (question,reponse,reponse_client) et donc je ve utilisé pour chque question la fonction js. je ne c donc pas comment faire pour que cette fonction chqnge de nom chaque fois qu'elle est appelé .

pour vous expliquez mieu ce que je ve voici ce que j'ai pour le moment :



$lResult3 = $lCoupon->SelectQuestion();
foreach ($lResult3 as $row3)
{ $nbQuestion++;

echo '<p>';
//affichage de la question
echo $row3['intitule_question'];
echo '</p>';
$question=$row3['id_question'];

$lResult4 = $lCoupon->SelectReponse($question);

echo " <SELECT size=1 onchange='RendVisibleAutre(this.value)' name='reponse".$nbQuestion."'> ";
foreach ($lResult4 as $row4)
{
//affichage des reponse possible dasn option
$reponse=$row4['id_reponse'];

echo "\n".'<option value='.$row4['id_reponse'].'>';
echo $row4['intitule_reponse'];
//echo $reponse;
echo '</option>';
}
?>
//affichage du champ autre dans chque menu deroulant qui apparai mais
<option value='autre'>autre</option></SELECT>



<p>
<div id="test" style="visibility:hidden;position:absolute;">
<input type="text" name='autre'></div>
</p>
je pense donc qu'il faudrai peut etre passer la valeur de l'id_question (php) dans le nom de la fonction js ...
MERCIIIIIIIIIIIIIIIIIIIIIII :)
je suis en manque de savoirrr totallll svppp j'ai besoin de vous
0