Toon posts:

[javascript] Na submit een disable!

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb de volgende vraag:
In een file-uploadform selecteer je de file die je wilt uploaden, vervolgens gaat dat werken met een druk op de submit knop.
Maarja, als je een file van 5mb upload, en dat gebeurt hier nogal eens, dan moet het niet voorkomen dat de persoon denkt dat het te sloom gaat en _nog_ een keer op submit klikt, dan begint 'ie namelijk overnieuw!!
Dus, d8 ik, dan geef ik op de OnClick() van de button de submit-button een schop en laat ik 'm op enabled = false zetten.

Geen probleem, het werkt! :P. Maaruh, nou komt het, op de OnClick() draait 'ie het volgende:
code:
1
2
3
4
function d() {
    document.frmGo.getit.disabled = true; <<= button
    document.frmGo.submit();          <<= submit
}

Dus eerst de knop op slot en vervolgens de boel submitten.
Maar helaas, tot mijn spijt, upload hij de hidden text-vakken niet meer! Rara, hoe kan dat? :+

Dus, d8 ik, misschien zit 't 'm in de OnClick. Dus ik het OnClick event eruit geknipt, en het regeltje 'document.frmGo.submit()' uit bovenstaande functie geknipt, en op de form een OnSubmit="d();" geplakt. Hierdoor zou hij op de OnSubmit() even m'n button uit moeten zetten en ik dacht dat 'ie dan ook auto gaat submitten, maar dat is niet zo, dus de situatie werd weer zoals hierboven.
Uiteindelijk is dus het OnClick event verplaatst naar het OnSubmit event.
Maar _waarom_ submit hij m'n <text type="hidden">-velden niet meer? de file upload hij wel gewoon!

De totale source ziet er zo uit:
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
28
29
30
31
<body bgcolor="#3A6EA5">
  <span class="title">Stap 1: Selecteer een bestand</span>
  <br><br>
  Stukje tekst!
  <form method="post" 
      enctype="multipart/form-data" 
        action="verwerk_upload.php" 
        name="frmGo" 
        onSubmit="d();">
  <table width="90%" cellpadding=0 cellspacing=0 border=0 name="tblGo">
  <tr>
    <td><font color="#fffff">Bestand:</font></td>
    <td><input type="hidden" name="NewCheckCode" value="kO.WsSafJYZ8k">
         <input type="hidden" name="DownGroupID" value="7">
         <input type="hidden" name="SiteID" value="2">
         <input type="file"   name="file">
    </td>
  </tr>
  <tr>
    <td><input type="submit" name="getit" value="Start uploaden" onClick="d();">
  </td></tr>
  </table>
  </form>
<script language="JavaScript1.2">
<!--
function d() {
    document.frmGo.getit.disabled = true;
    document.frmGo.submit();
}
-->
</script></body></html>

Ik krijg allemaal PHP-errors na het uploaden van de file, omdat hij op de een of andere manier de hidden fields dus niet meer meekrijgt...
Wie weet hier het probleem?

Verwijderd

misschien moet je er even van maken:

onclick="return d();"

en in je functie d nog 1 regeltje achteraan invoegen:

return true;

maar ik kan je niks garanderen :)

Verwijderd

Topicstarter
Helaaz, dat gaat ook niet werken, zelfde problemen...

Verwijderd

Topicstarter
Problem solved. Wat was nou het probleem, in m'n php-script checkte ik op de waarde van de button. En als die op disabled staat, verzend IE die blijkbaar niet mee, dus ging m'n check vaut ;)
Topic kan dicht.

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

LOL@error :D

Knoop meteen goed in je oren wat Cheatah zegt. Dat is namelijk de juiste manier om om te gaan met de onsubmit van een form. Namelijk een true of false retourneren.
En het wordt zóóóóóó vaak fout gedaan ;)

Today's subliminal thought is:


Verwijderd

Topicstarter
En het wordt zóóóóóó vaak fout gedaan ;)
'k ben geen javascript held he ;) enneh, ik deed het er niet eens in...
Pagina: 1