Bonjour à tous, j'ai un problème d'écriture d'un écho pour produire une zone de texte avec un événement onchange.

echo "<td class='innerTable'><div>";
echo "<textarea name='comments' id='comments' onchange="saveChanges(this,$row_model['id'])" style='font-family:sans-serif;font-size:1.2em;'>";
echo "</textarea></div></td>";

J'ai essayé d'utiliser des barres obliques inverses avant les guillemets doubles dans onchange et d'utiliser des guillemets simples, mais je continue à obtenir des erreurs d'analyse sur la ligne de zone de texte. Lorsque le commentaire change, le javascript saveChanges doit s'exécuter et l'appel ajax doit enregistrer le nouveau commentaire dans la base de données

Ceci est ma méthode javascript.

function saveChanges(object, module_id){   
    $.ajax({
        url: 'saveComments.php',
        data: 'content=' + object.value+ '&id=' + module_id,
        cache: false,
        error: function(e){
          alert(e);
        },
    success: function(response){
        // A response to say if it's updated or not
        alert(response);
    }
});   

}

0
olliejjc16 9 mars 2016 à 14:10

5 réponses

Meilleure réponse

Vous pouvez utiliser la concaténation comme suit:

onchange='saveChanges(this," . $row_model['id'] . ")' 

Donc vous faites écho deviendra

echo "<td class='innerTable'><div>";
echo "<textarea name='comments' id='comments' onchange='saveChanges(this," . $row_model['id'] . ")' style='font-family:sans-serif;font-size:1.2em;'>";
echo "</textarea></div></td>";
1
KAD 9 mars 2016 à 11:13

Essayez de changer votre code php en:

echo "<td class='innerTable'><div>";
echo <<<EOF
<textarea name='comments' id='comments' onchange="saveChanges(this,{$row_model['id']})" style='font-family:sans-serif;font-size:1.2em;'>";
EOF;
echo "</textarea></div></td>";
0
alexander.polomodov 9 mars 2016 à 11:12

Vous essayez comme ça

echo "<td class='innerTable'><div>";
echo "<textarea name='comments' id='comments' onchange='saveChanges(this,$row_model['id'])' style='font-family:sans-serif;font-size:1.2em;'>";
echo "</textarea></div></td>";
0
Vadivel S 9 mars 2016 à 11:30

Changez votre code comme ci-dessous:

echo "<textarea name='comments' id='comments' onchange='saveChanges(this,{$row_model["id"]});' style='font-family:sans-serif;font-size:1.2em;'>";
0
Rakesh Sojitra 9 mars 2016 à 11:27
echo "<td class='innerTable'><div>";
echo "<textarea name='comments' id='comments' onchange=\"saveChanges(this,$row_model['id'])\" style='font-family:sans-serif;font-size:1.2em;'>";
echo "</textarea></div></td>";

Échappez les guillemets avant, comme en deuxième ligne en utilisant "\".

0
Hydroper 9 mars 2016 à 11:15