Toon posts:

[JavaScript]Tekst direct tonen in textbox

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil een melding geven in een tekstbox: "even geduld a.u.b."

Na deze melding wordt er een functie uitgevoerd die wat tijd in beslag neemt. De melding in de tekstbox wordt echter pas getoond nadat de langdurige functie helemaal klaar is.

Hoe kan ik ervoor zorgen dat eerst de tekst wordt getoond, zonder dat er gewacht wordt op die functie?

  • alley
  • Registratie: Mei 2002
  • Laatst online: 18-08 20:40

alley

ahuh

javascript

I am always doing that which I can not do, in order that I may learn how to do it. (Pablo Picasso)


Verwijderd

Topicstarter
Hmm... dus toch.

Beetje jammer dat ik dan zowel VB code als javascript moet gebruiken in een pagina. Maar ok.. ga ik daar maar eens naar kijken.

  • maikel
  • Registratie: Januari 2001
  • Laatst online: 24-08 12:52
Voor client-side-functionaliteit moet je sowieso nog javascript (of VBScript) gebruiken. Ik gebruik het zelfs erg vaak nu. Het scheelt soms weer een postback.
In principe kun je veel dingen waarvoor je geen database (oid) nodig hebt, client-side oplossen.

Verwijderd

Topicstarter
Ok, ik heb 't geprobeerd met Javascript maar ik heb nog niet het juiste resultaat

De code is heel simpel:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function DoeIets()
{
   document.getElementById("TextBox1").value="hallo";

   BlaBla()
}


function BlaBla()
{
   var i = 1

   do  
      i=(i+1)
   while (i < 1000000)
   
   document.getElementById("TextBox1").value=i;
}


Maar dan nog steeds komt er niet eers "Hallo" in de tekstbox te staan. Wat er wel gebeurt is dat de functie wordt uitgevoerd... en na een tijdje komt er dan 1000000 in de tekstbox te staan. Maar ik wil dus eerst "hallo" zien.

Iemand nog een suggestie?

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function DoeIets()
{
   document.getElementById("TextBox1").value="hallo";

   setTimeout( BlaBla, 1 );
}


function BlaBla()
{
   var i = 1

   do  
      i=(i+1)
   while (i < 1000000)
   
   document.getElementById("TextBox1").value=i;
}


Dit zou wel moeten werken want dan heeft het window tijd om de textbox te updaten

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Verwijderd

Topicstarter
rwb schreef op 13 februari 2003 @ 12:49:

Dit zou wel moeten werken want dan heeft het window tijd om de textbox te updaten
Hmm... nou voert ie de functie BlaBla niet meer uit, lijkt het wel. En ik krijg ook geen foutmelding. Vreemd.

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Hmmmz, is het toch stiekem een Javascript topic geworden hier ;)
JS --> W&G

[disclaimer] Check zelf even of je topic aan de daar gestelde policy voldoet, zoniet, pas dit dan zelf aan! [/disclaimer]

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:14

Bosmonster

*zucht*

je update de tekst box nu met "hallo ..." en vervolgens DIRECT ga je de box weer updaten... logisch dat je het hallo... nooit ziet natuurlijk toch???

Gebruik daar gewoon niet de zelfde textbox voor, maar een lokalevariabele of andere textbox.

Redelijk basic dit...

Verwijderd

Topicstarter
Bosmonster schreef op 13 februari 2003 @ 14:07:
je update de tekst box nu met "hallo ..." en vervolgens DIRECT ga je de box weer updaten...
Ik ga NIET DIRECT de box weer updaten. Er wordt eerst een bewerking uitgevoerd... zodat na een seconde of 20 weer een melding wordt getoond. Er is dus alle tijd om de eerste melding in de box te tonen.

Dat blijkt dus niet redelijk basic te zijn.

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Het 1e argument voor setTimeout moet een string zijn die na de timeout geevalueerd wordt, zo dus:
JavaScript:
1
setTimeout('BlaBla()', 1);

Intentionally left blank

Pagina: 1