Forum » Client-Side scripting » textarea hulp.
Berichten: 210
avatar
Offline Stuur privebericht
Beste CPers,

Ik heb een script waarbij ik een textarea gebruik. In de textarea komt via een javascript steets meer tekst te staan. Nu wil ik alleen dat de textarea automatisch mee scrolt naar beneden. (Dus dat je altijd de nieuwste tekst (onderaan) gelijk kan zien staan en niet eerst zelf naar beneden hoeft te scrollen.)

Weet iemand hoe ik dit kan maken?


P.S. Ik heb ook nog een klein vraagje over de tijd.
Ik gebruik de volgende code:
Code | Selecteer Alles
minimaliseren
1
document.form.tekstvak.value = document.form.tekstvak.value + '<?PHP echo '['.date("d-m-Y H:i:s").'] '.$aalarm.''?>n'

Alleen is de tijd steeds de tijd van wanneer je de pagina lade. Ik wil daar de tijd hebben van wanneer het bericht erbij kwam. Hoe kan ik dit goed krijgen?

Met vriendelijke groet,
Blackboss
18-02-2011 10:04
Dit topic is 305 keer bekeken door 54 verschillende leden
Reacties op: "textarea hulp."
1 | 2 Volgende pagina
Regelnasi
Berichten: 1092
avatar
Offline Stuur privébericht
Dan moet je toch met een database gaan werken, en door middel van een while in je <textarea> laden.

En dan DESC of ASC op Datum, zodat het nieuwste bericht boven aan komt.

De textarea scroll, kan je door: <textarea style="height: auto;"> regelen.

Desnoods, als je dit totaal niet bedoelt, heb je dan mischien een online voorbeeld?
18-02-2011 10:34
Berichten: 210
avatar
Offline Stuur privébericht
@Lancer: Helaas heb ik geen online voorbeeld. Ik zal het even nog een keer proberen uit te leggen.

Ik heb met javascript gemaakt dat er na een bepaalde tijd steeds een regel bij komt te staan in een textarea. Maar als er meer regels komen als dat het textarea frame hoog is dan krijg je een scrolbar. Deze scrolbar blijft boven aan de textarea staan. Maar eigenlijk wil ik dat deze elke keer als er een nieuwe regel komt weer helemaal beneden komt te staan. Dus eigenlijk net als een chatbox. (elke keer dat iemand anders of jij wat zegt dan gaat het venster waar alle tekst staat mee naar benden.)

Weet jij misschien hoe ik dit kan doen?

Met vriendelijke groet,
Blackboss
18-02-2011 18:11
Berichten: 317
avatar
Offline Stuur privébericht
waarom zorg je niet dat de nieuwe tekst bovenaan weergegeven word?
18-02-2011 18:12
Berichten: 210
avatar
Offline Stuur privébericht
@ webbasing: Jah, dat zal ik er dan wel van maken. Maar weet jij toenvallig ook hoe ik elke keer de tijd kan posten? Want als ik de functie date("d-m-Y H:i" gebruik dan krijg ik de tijd wanneer ik de pagina opende. En ik wil juist steeds de huidige tijd erbij.
18-02-2011 18:18
Berichten: 317
avatar
Offline Stuur privébericht
Werk je met php? zo ja kun je gewoon NOW() gebruiken
18-02-2011 18:19
Berichten: 210
avatar
Offline Stuur privébericht
Jah, ik werk met PHP maar de functie NOW() doet niets. Of ik gebruik hem verkeerd.
18-02-2011 18:20
Berichten: 317
avatar
Offline Stuur privébericht
ik snap niet goed hoe je de berichten uitleest? Deze haal je uit de database ofzo ?
18-02-2011 18:22
Berichten: 210
avatar
Offline Stuur privébericht
Stukje script:
Code | Selecteer Alles
minimaliseren
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<script type="text/javascript">
function load()
{
    document.form.tekstvak.value = document.form.tekstvak.value + '<?PHP echo '['.date("d-m-Y H:i:s").'] '.$punten['omschrijving'].''?>.n'
    
<?PHP
$aank 
mysql_query("SELECT * FROM voertuigenid WHERE gebruikersid = '".$own['id']."' && gebruik = '1'") or die(mysql_error());
while(
$aankomst mysql_fetch_array($aankMYSQL_ASSOC)){
 
$kanto mysql_fetch_assoc(mysql_query("SELECT * FROM kantorenid WHERE gebruikersid = '" $own['id'] . "' && kantorenid = '".$aankomst['kantorenid']."'")) or die(mysql_error());
 
    
$alles = ($melding['xcor'] + $melding['ycor']) + ($kanto['xcorr'] + $kanto['ycorr']);
    
$min = ($alles 100);
    
$tot number_format($min0''''); 
    
$bericht $tot 3000;

?>
var t=setTimeout("aankomst<?PHP echo $ia++; ?>()",<?PHP echo $tot?>);

<?PHP
}
?>
var t=setTimeout("bericht()",<?PHP echo $bericht?>);
var t=setTimeout("okee()",<?PHP echo $bericht?>);
}
<?PHP
$aank1 
mysql_query("SELECT * FROM voertuigenid WHERE gebruikersid = '".$own['id']."' && gebruik = '1'") or die(mysql_error());
while(
$aankomst1 mysql_fetch_array($aank1MYSQL_ASSOC)){
?>
function aankomst<?PHP echo $ib++; ?>() {
document.form.tekstvak.value = document.form.tekstvak.value + '<?PHP echo '['.date("d-m-Y H:i:s").'] '.$aankomst1['cat'].' '.$aankomst1['naam'].''?> meld zich terplaatsen.n'
}
<?php
}
?>
function bericht() {
document.form.tekstvak.value = document.form.tekstvak.value + '<?PHP echo '['.date("d-m-Y H:i:s").'] '.$aalarm.''?>n'
}
function okee() {
document.form.klaar.disabled = false;
}
</script>
  <body onLoad="load()" onUnload="GUnload()">
<?PHP
echo '<form name="form" method="post">
<table width="99%"  cellpadding="0" cellspacing="0">
    <tr>
      <td class="start">Meldingen:</td>
    </tr>
    <tr>
      <td class="list"><textarea name="tekstvak" readonly="readonly" cols="85" rows="6" wrap="physical"></textarea></td>
    </tr>
</table>
18-02-2011 18:27
Webdeveloper & Programmeu
Berichten: 1000
avatar
Offline Stuur privébericht
Waarom zet je alle tekst in een tekstvak , is toch helemaal niet nodig?

Het is veel netter als je het in een div zet en die div een id mee geeft die je dan ophaalt via getElementById waardoor je alles daar inzet!

Als jij dan tekst toevoegt is het slimmer om de div opnieuw in te laden dus eerst div legen via .innerHTML = ''; en daarna weer alles uit de database te halen en in de div te zetten.

Hierdoor kan je simpel weg de volgorde heel makkelijk wijzigen!
19-02-2011 10:27
Berichten: 210
avatar
Offline Stuur privébericht
@NielsB: Bedankt voor je uitleg, Maar hij haalt alleen het eerste bericht uit de database. De rest word allemaal langzaam in de pagina opgebouwd.

Ook is me tijd niet werkend. Ik krijg steeds de tijd van wanneer ik de pagina lade en niet van wanneer het bericht tevoorschijn kwam.
21-02-2011 13:29
Reageer op: "textarea hulp."
1 | 2 Volgende pagina
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden