[javascript] Probleme d'erreur

Répondre
mobman02
le 13/01/2005 à 19:10
mobman02
J'ai un probleme de javascript !
C'est pour un script d'insertion de texte de un textarea.

(c'est un script qui a pour base un des scripts que vous proposer en download... Bah c'est plein d'erreur de PHP ! Mais la, c'est le javascript qui me pose des prob)

Voici les fonctions que j'utilise:

<script language="JavaScript">

var g_posCurseur;

function getPosCurseur(oTextArea)
{
var sAncienTexte = oTextArea.value;
var oRange = document.selection.createRange(); // Erreur : document.selection has no properties (lorsque que je tape du texte dans le textarea, les erreurs apparaissent)
var sAncRangeTexte = oRange.text;
var sMarquer = String.fromCharCode(28)+String.fromCharCode(29)+String.fromCharCode(30);
oRange.text = sAncRangeTexte + sMarquer; oRange.moveStart('character', (0 - sAncRangeTexte.length - sMarquer.length));
var sNouvTexte = oTextArea.value;
oRange.text = sAncRangeTexte;

for (i=0; i <= sNouvTexte.length; i++)
{
var sTemp = sNouvTexte.substring(i, i + sMarquer.length);
if (sTemp == sMarquer)
{
var cursorPos = (i - sAncRangeTexte.length);
return cursorPos;
}
}
}

function setPosCurseur()
{
g_posCurseur = getPosCurseur(poster.message);
//Avertissement : Élément référencé par son ID/NAME dans le contexte global. Utilisez la propriété standard du W3C document.getElementById() à la place. (je ne sait pas faire ca...)
}

function insereChaine(sChaine)
{
if (typeof(g_posCurseur)=='undefined')
{
poster.message.value+=sChaine; //Avertissement : Élément référencé par son ID/NAME dans le contexte global. Utilisez la propriété standard du W3C document.getElementById() à la place. (ca c'est quand j'appuie sur le lien.)
}
else
{
var firstPart = poster.message.value.substring(0, g_posCurseur);
var secondPart = poster.message.value.substring(g_posCurseur,poster.message.value.length);
poster.message.value = firstPart + sChaine + secondPart;
}
}
</script>


Voici le textarea:

<form method="post" action="add_news.php" name="poster">
<textarea cols="80" rows="9" name="message" onmouseover="this.focus();" onchange="setPosCurseur();" onclick="setPosCurseur();"></textarea>
<input type="submit" name="submit" value="Envoyer">
</form>


et enfin, voici comment je met le texte:
<a href="javascript:insereChaine(':D')"><img src="http://www.freee.fr/lol.gif" border="0"></a>



J'ai des erreurs de partout.
Voyez les commentaires dans la source.

Alors comment pourrais je faire ?
Quelqu'un peu m'aider s'il vous plait ??

En plus c'est censer mettre le texte a la position du curseur,
mais ca le met a chaque fois a la fin du texte ! lol

Merci :)
http://damienalexandre.fr/
LA GLOBULE
le 14/01/2005 à 00:47
LA GLOBULE
C'est lefounard qui a pondu ce script...

Faudrait voir avec lui.

Mais cette rubrique scripts, je sens que je vais la zapper. Beaucoup de personnes la voulaient, mais finallement, elle n'apporte rien (je dois recevoir une proposition de script tous les 3 mois).
moogli
le 14/01/2005 à 02:54
moogli
lut
>>C'est lefounard qui a pondu ce script...

mwarf l'est po de lui le script smiley, il la disons adapter, zipper et proposer :)
en cherchant 1 poil sur le forum, j'ai retrouvé la source (javascript.fr) que j'avais posté ici, le lien vers le script http://www.javascriptfr.com/code.aspx?ID=18043

pour en revenir au problème :
quel navigateur utilise tu ?
cette question parce que ce script ne fonctionne que sous IE.....

j'ai trouver une source pour FF mais me souvient plus ou (et le l'est pas garder dsl :) )
j'ai contourné le problème en insérant une ligne pour vérifier le navigateur ! le problème c'est que c'est loin d'etre imparable (par exemple opéra et sont indentifier comme opera, Mozilla, IE ....

je te fait un wall de mon bidouillé
http://www.lephpfacile.com/wall/wall.php?id=1943
pour fonctionner il faut placer 2 variables
mForm et mTextArea qui sont les nom du form et de la textarea, ceci parceque j'avais de solution, celle ci ou donner le meme nom a tout mes formulaire et textarea :(

Je le répete le script ne fonctionnera que sous IE est je n'est fait qu'une parade pour ne pas avoir les erreurs. Tu auras quand meme l'insertion des codes en fin de textarea.
Je n'est pas trouver sur le web un code universelle (j'ai tester phpbb sur d'autre navigateur que Ie mais si leur bbcode s'insere n'importe ou avec n'importe quel navigateur, tu peut t'en inspirer smiley)

Voila j'espère que t'est pas perdu smiley

ps : La globule, dès je retrouve mon script de dump de base mysql je te le met en depot :) (je sais php myadmin le fait aussi smiley

smiley
Il en faut peu pour être heureux !!!!!
mobman02
le 14/01/2005 à 21:50
mobman02
Merchi beaucoup moogli !
Encore une fois, tu me "sauve la vie" :p

Effectivement j'utilise firefox sur ma machine test.

Ca permet d'avoir des details sur les erreurs et de voir si c'est a peu pres normaliser W3C :p

Donc en faite, sous firefox, il me sera impossible de mettre les smiley a la position du curseur...
Ca c'est balo... :s

Tans pis, mes visiteur n'ont qu'a avoir IE :p lol

Pour la section script, je ne savais meme pas qu'on pouvais en proposer,
faudrais faire de la pub a cette section ( ^^ ) et y'aurais peut etre plus de proposition.

@+ et merci
http://damienalexandre.fr/
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours