[Javascript/IE6] F5 verschilt van refresh

Pagina: 1
Acties:

  • CaptBiele
  • Registratie: Juni 2002
  • Laatst online: 13-06 11:32

CaptBiele

No Worries!

Topicstarter
Ik hoop dat het topic hier op zijn plaats is, anders mag tie verhuisd worden :z

Ik ben een beetje aan het experimenteren met html/javascript, en om de laatste aanpassingen van mijn webpagina te bekijken druk ik normaal gesproken op F5, zodat de pagina opnieuw wordt geladen.

Ik probeer met een enter automatisch het form te submitten. Ik zal voor de volledigheid even de code geven, dan is het ook wat makkelijker uit te leggen:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<html><head>
    <script language="JavaScript">
    <!--
        function submitForm()
        {       
             alert('het form is gesubmit!');
        }
    //-->
    </script>
</head><body>

<form name="processform" method="post">
    <input type="text" name="invoerveld" value="testwaarde">
    <a name="linkje" href="javascript:submitForm();">[img]"plaatje.gif"[/img]</a>
</form> 

</body></html>

Als ik nu bijvoorbeeld met de muis op de submitknop klik, dan krijg ik een melding, zoals het hoort. Als ik nu op F5 druk, en daarna op enter, dan krijg ik eveneens de melding.
Als ik echter in het rechtermuis-menu kies voor 'refresh', dan is het daarna niet meer mogelijk om met de enter het form te submitten. Dus het gedrag is verschillend. (met SHIFT+F5 bereik ik overigens hetzelfde als F5)

Kan iemand dit verklaren? Wat is het verschil met (SHIFT+) F5 en de "refresh" uit het contextmenu?
Heeft het misschien met cache te maken oid? |:(

  • slm
  • Registratie: Januari 2003
  • Laatst online: 25-06 12:45

slm

Ehm... rechter-muis = focus weg ? :)

dus kan je enteren wat je wilt, maar de focus op je image is verdwenen.

Je kan beter onsubmit="submitForm()" gebruiken in je form tag

To study and not think is a waste. To think and not study is dangerous.


  • CaptBiele
  • Registratie: Juni 2002
  • Laatst online: 13-06 11:32

CaptBiele

No Worries!

Topicstarter
ah ok, dus bij F5 blijft de focus bestaan, en bij refresh niet... dat verklaart een hoop denk ik. Dan bid ik maar dat dit het enige verschil is...

Maar is het niet enorm vies om zo de standaard onsubmit af te vangen?

ff een verhuizing van topic aanvragen :)

  • slm
  • Registratie: Januari 2003
  • Laatst online: 25-06 12:45

slm

Vies? Definieer "vies"...

Lijkt me vrij standaard deze routine. Ben geen W3C groupie maar dit kan elke browser wel aan zo'n beetje.

To study and not think is a waste. To think and not study is dangerous.


  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB/AI

Front verplichte underscores

SA ---> W&G + kleine titeledit per het policy aldaar :)

Zie verder slm :P

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • CaptBiele
  • Registratie: Juni 2002
  • Laatst online: 13-06 11:32

CaptBiele

No Worries!

Topicstarter
nou dan wordt wel de eigen functie submitForm() aangeroepen, maar na uitvoering daarvan submit het form alsnog via de reguliere methode. (Dus de action wordt uitgevoerd). En dat is dus niet altijd gewenst....

offtopic:
tnx F_J_K....

[ Voor 20% gewijzigd door CaptBiele op 03-09-2003 22:10 ]


  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 09:22

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

onsubmit is een normaal event. als je persé wilt dat de focus behouden, kun je ook de functie focus() gebruiken op form-elementen :)

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


  • The_Light
  • Registratie: Februari 2002
  • Laatst online: 30-11-2025
Je kunt ook gewoon de key-event opvangen en wanneer er een enter wordt gegeven de functie submitForm aanroepen.

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Het spijt me zeer, maar met die voorbeeldcode kan ik op enter drukken wat ik wil, maar geen alert. Pas als ik dmv tab de focus op het plaatje zet en op enter druk krijg ik de melding.
Dat is opzich ook niet raar, want submit on enter werkt normaal gesproken alleen als je vanuit een form-element op enter drukt (de focus bijvoorbeeld op de text-input).

Het heeft dus alles met focus te maken; door onload de focus op je text-input te zetten zal je waarschijnlijk je doel al bereiken :)

[ Voor 17% gewijzigd door crisp op 03-09-2003 22:03 ]

Intentionally left blank


  • slm
  • Registratie: Januari 2003
  • Laatst online: 25-06 12:45

slm

klopt ook, je moet eerst via javascript de focus zetten op 1 vd formelementen of handmatig het tekstvakje of plaatje selecteren.

Captbiele> ik heb dan ook niet de volledige code geplaatst, je moet dus onsubmit="return submitForm()" en in je functie hetzij return true, hetzij return false meegeven, maar dacht dat je dat wel door zou hebben.

To study and not think is a waste. To think and not study is dangerous.


  • CaptBiele
  • Registratie: Juni 2002
  • Laatst online: 13-06 11:32

CaptBiele

No Worries!

Topicstarter
prammenhanger:
ja ik wil nu idd verder de focus bekijken, maar onChange valt al af, omdat die pas aangeroepen wordt als de gebruiker uit het veld gaat. Ik kan eventueel onKeyDown aanroepen, maar die krijg ik ook niet echt aan de praat....ik moet nog ff wat verder experimenteren...
JavaScript:
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
<html><head>
    <script language="JavaScript">
    <!--
        function submitForm()
        {       
             alert('eigen functie');
        }
        function submitAction()
        {       
             alert('standaard teringzooi');
        }
        function focus()
        {       
             document.forms['processform'].elements['linkje'].focus();
        }
    //-->
    </script>
</head><body>

<form name="processform" method="post" action="javascript:submitAction();">
    <input type="text" name="invoerveld" value="testwaarde" onKeyDown="javascript:focus()">
    <a name="linkje" href="javascript:submitForm();">[img]"google_sm.gif"[/img]</a>
</form> 

</body></html>


TheLight:
Dat heb ik ook al geprobeerd, maar nog geen enkele code gevonden die dat doet en ook stabiel werkt (onder meerdere browsers). Het lijkt dan wel of de enter op willekeurige momenten wordt afgevangen....

crisp:
als je het topic goed gelezen zou hebben, dan wist je dat ik een soort tussen probleem had... ik ben zelf nog bezig om het een en ander uit te zoeken mbt het submit probleem, maar ik kwam op die rariteit van het refreshen. Daar was dit topic initieel voor bedoeld.
Ik mag toch meer verwachten van een lite-mod :P

  • CaptBiele
  • Registratie: Juni 2002
  • Laatst online: 13-06 11:32

CaptBiele

No Worries!

Topicstarter
slm: je hebt helemaal gelijk. Ik vond het in eerste instantie raar dat je dat niet vermeldde....
maar ik weet wel hoe dat werkt jah. Jullie reageren zo snel, ik had geen tijd om na te denken :)

  • CaptBiele
  • Registratie: Juni 2002
  • Laatst online: 13-06 11:32

CaptBiele

No Worries!

Topicstarter
ok, onder enorme tijdsdruk heb ik het voor elkaar gekregen... :)


JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<html><head>
    <script language="JavaScript">
    <!--
        function submitForm()
        {
            
             alert('eigen functie');
             return true;
        }
    //-->
    </script>
</head><body>

<form name="processform" method="post" onsubmit="return submitForm();" >
    <input type="text" name="invoerveld" value="testwaarde">
    <a name="linkje" href="processform.submit();">[img]"google_sm.gif"></a>
</form[/img] 

</body></html>

wist niet dat het form automatisch submitte als een invoerveld al de focus heeft 8)7
wat is het antwoord toch simpel eigenlijk.... tnx guys!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

ahum; heb je nu niet door dat als je op het plaatje klikt je functie niet wordt uitgevoerd, of is dat de bedoeling? (sterker nog, het gaat nu helemaal fout)
verder is er een speciale tag voor een plaatje als submit-button:
HTML:
1
<input type="image" src="google_sm.gif" />


daarbij is javascript in een href zetten erg vies, en als je het al doet dient er javascript: voor te staan. Persoonlijk zou ik het in een onclick event handler zetten als ik al een a-tag zou gebruiken voor het uitvoeren van een script.
Die hide-this-script-from-older-browser dingetjes zijn ook passé

Is dit meer wat je verwacht van een lite-mod W&G? ;)

[ Voor 7% gewijzigd door crisp op 03-09-2003 22:39 ]

Intentionally left blank


  • CaptBiele
  • Registratie: Juni 2002
  • Laatst online: 13-06 11:32

CaptBiele

No Worries!

Topicstarter
Ja dit scriptje is zeer voor verbetering vatbaar, maar dat is nu even niet ter sprake *cough*
Het ging ff puur om het submitten met een enter ...

hehe ... crisp, jij held :)
Pagina: 1