[RESOLU] Question sur "onclick=insertTag"

Eléphant du PHP | 164 Messages

31 janv. 2015, 19:22

Hello,

J'ai des articles dans lesquels je peux envoyer des images. Pour chaque articles donc j'ai un formulaire avec un textarea, une liste d'image et un bouton d'import fonctionnant en insertTag comme sur ce lien.

Ca marche ! Le problème n'est pas là.

J'ai donc un lien comme ceci :
echo '<br /><input type="button" value="Ins&eacute;rer" onclick="insertTag(\'<img src='.$photo['actuPhoto_rep'].'/'.$photo['actuPhoto_image'].' '.$format.'>\',\'\',\'chapeau\')">';
qui comme vous le voyez utilise des ', des " et des \'

Quand je clique sur ce bouton il m'insère une balise de ce type dans mon textarea :

Code : Tout sélectionner

<img src=repertoire/nom.jpg width=XXX height=YYY>
ce qui fonctionne très bien ! mais j'aimerai un résultat de ce type pour être plus correct !!

Code : Tout sélectionner

<img src="repertoire/nom.jpg" width="XXX" height="YYY">
Une idée ?

Mammouth du PHP | 688 Messages

31 janv. 2015, 19:31

tu ajoutes les " là ou il manquent :
echo '<br /><input type="button" value="Ins&eacute;rer" onclick="insertTag(\'<img src=\"'.$photo['actuPhoto_rep'].'/'.$photo['actuPhoto_image'].'\" '.$format.'>\',\'\',\'chapeau\')">';
et dans la ligne qui défini $format

Eléphant du PHP | 164 Messages

31 janv. 2015, 19:44

Merci pour la réponse.

J'ai bien pensé à faire ça oui mais il m'affiche ceci
Capture d’écran 2015-01-31 à 18.43.40.jpg
En cliquant droit / Voir le code source, il m'affiche ceci :

Code : Tout sélectionner

<input value="Insérer" onclick="insertTag('<img src=\" 2015b="" 19226_1.jpg\"="" height="367" type="button" width="550">','','chapeau')">
(à préciser que tout s'affiche correctement avec la solution de départ)

Code : Tout sélectionner

<input value="Insérer" onclick="insertTag('<img src=actus/2015b/19226_1.jpg width=550 height=367>','','chapeau')" type="button">
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

Mammouth du PHP | 688 Messages

31 janv. 2015, 19:53

qu'est-ce qu'affiche ?
echo $photo['actuPhoto_rep'];
echo $photo['actuPhoto_image'];

Eléphant du PHP | 164 Messages

31 janv. 2015, 23:23

repertoire = actus/2015b/
image = 19226_1.jpg

Mammouth du PHP | 2278 Messages

01 févr. 2015, 11:15

Tu as repéré le problème sur <img, mais tu auras le même problème pour toutes les balises contenant des valeurs.
Je n'aurais jamais pensé à rédiger ainsi inserttag
j'aurais passé en paramètres : un nomlbre correspondant au tag à ajouter, et le textareaid comme tu fais
et je traiterais toutes les balises dans le coprs de la fonction.
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Eléphant du PHP | 164 Messages

01 févr. 2015, 18:33

Résolu, oui et non ... j'ai changé de script et ça fonctionne.

[javascript]<script type="text/javascript">

function addTextchapeau(instext) {
var mess = document.modifier.chapeau;
//IE support
if (document.selection) {
mess.focus();
sel = document.selection.createRange();
sel.text = instext;
document.modifier.focus();
}
//MOZILLA/NETSCAPE support
else if (mess.selectionStart || mess.selectionStart == "0") {
var startPos = mess.selectionStart;
var endPos = mess.selectionEnd;
var chaine = mess.value;

mess.value = chaine.substring(0, startPos) + instext + chaine.substring(endPos, chaine.length);

mess.selectionStart = startPos + instext.length;
mess.selectionEnd = endPos + instext.length;
mess.focus();
} else {
mess.value += instext;
mess.focus();
}
}
<script>[/javascript]
echo "<a href='#' onclick=\"addTextchapeau('<img src=\'/".$photo['actuPhoto_rep']."/".$photo['actuPhoto_image']."\' ".$format." border=\'1\' align=\'left\' style=\'margin-right:10px\'>');return(false)\"><input value='Ins&eacute;rer' type='button'></a>";