c'est normal que rien ne fonctionne?
Version imprimable
c'est normal que rien ne fonctionne?
Marche sous IE et FF, mais FF ne fait pas de wrap et je ne vois pas comment lui demander de le faire...Code:
1
2
3
4
5
6
7
8
9
10
11
12 <HTML> <BODY> <SCRIPT><!-- function limit(o) { while (o.scrollHeight > o.offsetHeight) { o.value = o.value.substring(0, o.value.length-2) } } --></SCRIPT> <TEXTAREA style="wrap:hard; width: 250px; height: 200px; font: Courier New; font-size: 12px; overflow:hidden;" onchange="limit(this)" onkeyup="limit(this)"></TEXTAREA> </BODY> </HTML>
La seul autre solution qui me viemme à l'esprit c'est mettre une police à espacement constant et compter le nombre de caractères ...
Citation:
Envoyé par FremyCompany
le code fonctionne parfaitement mais que veux dire par FF ne fait pas de wrap? moi ca fonctionne parfaitement sur les 2
sauf sous linux apparement, si quelqu'un peu confirmer
:roll:
http://cross-browser.com/toys/form_ta_add_rows.html
initialise le rows à 1Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <script type='text/javascript'> window.onload = function() { txtOnTimeout(); } function txtOnTimeout() { var t1 = document.getElementById('txt1'); if (t1.value.length > t1.rows * t1.cols) { ++t1.rows; } setTimeout('txtOnTimeout()', 500); } </script>
rows-1 te donnera le nombre de lignes ...
Bof, faut savoir que le textarea revient à la ligne si il ne peut pas mettre un mot, ou bien il depasse la derniere colonne si le mot est insecable et trop long pour une ligne, en plus de ça, ce raisonnement n'est valable qu'avec une police monospaced (courier new)
en gros :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 <title>Count lines</title> <script type='text/javascript'> function countlines(){ var t1 = document.getElementById('montext'); if (t1.value.length > t1.rows * t1.cols) { ++t1.rows; document.getElementById('lines').value=document.getElementById('montext').rows } } </script> </head> <body> nombre de lignes :<input type='text' id='lines' /><br/> <textarea id='montext' onkeyup="countlines()" rows="1" cols="20" style="wrap:hard"></textarea> </body>
en fait ce code ne fais pas vraiment ce que je veux. par contre celui de fremy c'est exactement ça. le seul petit hic c'est que parfois il ne fais pas de retour à la ligne. C'est pour ca que j'ai demandé de tester si vous aviez le problème
ben l'avantage de mon code c'est qu'il est garanti :D
et pour limiter le nombre de ligne a 10 par exemple?
non : garanti ... 2 ans ...
-------------> []
pièces et main d'oeuvre ;)
Non, Je l'ai testé et il ne fait pas ce qu'il nous demande...Citation:
Envoyé par SpaceFrog
D'ailleurs ca ne marche très bien...
Fremy il suffit de récupére le nombre de lignes et limiter celui ci ...
Mais ca ne marche pas ton truc :)Citation:
Envoyé par SpaceFrog
TapeEt tu veras que le nombre de ligne est TOTALEMENT faux...Citation:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
pourquoi ce code ne fonctionne t'il pas sur opera ? 8O
cad, la fonction javascript qui limite le nombre de ligne a la hauteur du champ
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Count lines</title> <script type="text/javascript"> function limit(o) { while (o.scrollHeight > o.offsetHeight) { o.value = o.value.substring(0, o.value.length-2) } } </script> </head> <body> <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" name="form"> <textarea name="field" wrap="hard" style="font-family:courier;font-size:12px;" cols="64" rows="29" onchange="limit(this);" onkeyup="limit(this);"><?php echo $_POST['field'];?></textarea> <input type="submit" value="print" /> </form> <div style="font-family:courier;font-size:12px;"> <?php $trans = array(" " => " "); echo nl2br(strtr($_POST['field'], $trans)); ?> </div> </body> </html>