Imprimer contenu textarea

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 18 nov. 2003 à 13:38
BBeppe Messages postés 16 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 10 février 2004 - 10 févr. 2004 à 03:04
[size=1][b][brown]Bonjour à tous[black]
Pour imprimer le contenu d'un TextArea
je n'ai trouvé que cette solution :

<html>
Essais d'impression
<textarea name=saisie></textarea>

<script language="JavaScript">
var appel,doc,timid;
function attendre()
{ if (appel) doc.close();
else timid=setTimeout(attendre,1000); }
function imprime()
{doc=window.open("","Imprimer","");
doc.document.open();
doc.document.writeln(""+saisie.value);
appel=true;
doc.document.writeln("<script language='JavaScript'>");
doc.document.writeln(" if (window.opener.appel) { location.reload(); window.opener.appel=false;}");
doc.document.writeln(" else { window.print(); window.opener.appel=true; }");
doc.document.writeln("<\/script>");
timid=setTimeout(attendre,1000); }
</script>
</html>

J'espère que vous allez m'aidez à améliorer cela.
Merci d'avance.
[brown]Cordialement.
Bul

2 réponses

rkampf Messages postés 3 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 19 novembre 2003
19 nov. 2003 à 16:48
J'ai trouvé la solution suivante :
la fonction getPosCurseur(objetTextArea) donne la position du curseur dans la zone de texte.
la fonction insereChaine(texte) permet d'insérer la chaine désirée à la position du curseur trouvée par la fonction getPosCurseur()
<HTML>

<form NAME="mForm">





<textarea NAME="mTextArea" ROWS="5" COLS="100" ONCHANGE="setPosCurseur()" ONCLICK="setPosCurseur()"></textarea>
</form>

</html>
<script>
var g_posCurseur; // variable global positition du curseur

//définit la postition du curseur
function setPosCurseur() {
g_posCurseur = getPosCurseur(mForm.mTextArea);
}

//retourne l'emplacement du curseur
function getPosCurseur(oTextArea) {
//sauve le contenu avant modification de la zone de texte
var sAncienTexte = oTextArea.value;

//crer un objet "Range Objet" et sauve son texte avant modification
var oRange = document.selection.createRange();
var sAncRangeTexte = oRange.text;
//cette chaine ne doit pas se retrouver dans la zone de texte !
var sMarquer = String.fromCharCode(28)+String.fromCharCode(29)+String.fromCharCode(30);

//insère la chaine où le curseur est
oRange.text = sAncRangeTexte + sMarquer; oRange.moveStart('character', (0 - sAncRangeTexte.length - sMarquer.length));

//sauver la nouvelle chaine
var sNouvTexte = oTextArea.value;

//remet la valeur du texte à son ancienne valeur
oRange.text = sAncRangeTexte;

//recherche dans la nouvelle chaine et trouve l'emplacement
// de la chaîne de marquage et renvoie la position
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;
}
}
}

//insère la chaine dans la zone de texte où le curseur est
function insereChaine(sChaine) {
//si curseur n'a pas de position : insère la chaine à la fin
if (typeof(g_posCurseur)=='undefined') {
mForm.mTextArea.value+=sChaine;
}else {
var firstPart = mForm.mTextArea.value.substring(0, g_posCurseur);
var secondPart = mForm.mTextArea.value.substring(g_posCurseur,mForm.mTextArea.value.length);
mForm.mTextArea.value = firstPart + sChaine + secondPart;
}
}
</SCRIPT>
Régis
0
BBeppe Messages postés 16 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 10 février 2004
10 févr. 2004 à 03:04
Bonsoir

ET Sauver sur disque le textarea ?????

Echange traduction contre AIDE en SCRIPT
0
Rejoignez-nous