[php] plaatje uploaden gaat niet bij disabled button

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • DPLuS
  • Registratie: April 2000
  • Niet online
Ik wil in al mijn forms een javascriptje zetten dat de SUBMIT-button disabled als men er een keer op gedrukt heeft.
Dit om bijv. dubbelposts te vermijden.
Nu heb ik het volgende probleem:

Toen ik dat JavaScriptje er nog niet in had staan werkte deze php-code feilloos (plaatje uploaden dat daarna gekopieerd werd naar directory op de server).
Maar nu dat ik de javascript code erbij gezet heb, wordt $image niet meer gekopieerd?
Hoe kan dat?

PHP:
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
<?php 

elseif (isset($AddItem3))
{

    exec("mv $image '$WebRoot/images/".$ItemID."_s.jpg'");

?>

<script language="javascript" type="text/javascript">
function submitonce(theform) {
    if (document.all||document.getElementById) {
        for (i=0;i<theform.length;i++) {
            var tempobj=theform.elements[i]
            if(tempobj.type.toLowerCase()=="submit")
                tempobj.disabled=true
        }
    }
}
</script><?php

    echo "<b><font face=verdana size=-1>You can now upload the <font color=red>BIG PICTURE</font> for item <font color=red>$ItemID</font>...<p>";
    echo "<FORM ENCTYPE=\"multipart/form-data\" ACTION=\"$PHP_SELF\" METHOD=\"POST\" onSubmit=\"submitonce(this);\">";
    echo "<INPUT TYPE=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"200000\">";
    echo "<INPUT TYPE=\"hidden\" name=\"ItemID\" value=\"$ItemID\">";
    echo "Send this file:<br>";
    echo "<INPUT NAME=\"image\" TYPE=\"file\" size=\"100\">";
    echo "<p><INPUT TYPE=\"submit\" name=\"AddItem4\" VALUE=\"Send Big Picture...\"></FORM>";
    echo "<p>This file MUST be a JPEG (jpg) image.</b></font>";

}
elseif (isset($AddItem4))
{

    exec("mv $image '$WebRoot/images/".$ItemID.".jpg'");

    echo "<center><b><font face=verdana size=-1>Pictures added for item <font color=red>$ItemID</font>!<p><a href=\"./edit_items.php\">Click here to return to the menu...</a></font></b><center>";

}
?>

Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Wat heb je zelf al geprobeerd om dit probleem op te lossen :? Is het niet gewoon zo dat je de submitbutton disabled en daarom niets meer verstuurd naar de server?

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

  • cenix
  • Registratie: September 2001
  • Laatst online: 16-09 20:24
Je moet tegenwoordig zowiezo gebruik maken van globals
dus niet $image, maar iets van

code:
1
2
$_POST['image'];
$_GET['image'];


zie www.php.net voor meer info over deze globals

Acties:
  • 0 Henk 'm!

  • Bbfreak
  • Registratie: September 2002
  • Laatst online: 18-07 10:58
Ik denk ook dat de onSubmiut voorrang krijgt op de Action. Dus jij schakelt hem uit als je geklikt heb. Hij voert de Action niet meer uit denk ik.

Twitter @cmeerbeek / Halo Waypoint Profile


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 12:54

Bosmonster

*zucht*

lijkt me niks met het javascript te maken hebben, die is prima namelijk. Na de functie wordt de submit gewoon uitgevoerd, en de state van je submitknop doet er dan niet meer toe.

Wat ik niet helemaal snap is waarom je de hele documentstructuur gaat doorlopen op zoek naar een submitknop, als je ook gewoon je submit een id kan geven en die direct kan disablen :P

Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Wat gebeurd er als je dit:
code:
1
onSubmit=\"submitonce(this);\"
vervangt door
code:
1
onSubmit=\"submitonce(this);return true;\"
:?

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

  • DPLuS
  • Registratie: April 2000
  • Niet online
Ook met die "return true" schijnt het dus niet te werken.
Het lijkt er inderdaad op dat het form de action als het ware annuleert, want hij verstuurt niets meer.

Ik dacht dat dit een leuke oplossing was om dubbelposts te voorkomen, maar ik denk dat ik maar naar iets anders op zoek moet gaan...

Acties:
  • 0 Henk 'm!

  • Eskimootje
  • Registratie: Maart 2002
  • Laatst online: 08:29
Gewoon een pop-up voor het versturen van bestand oid lijkt me het handigst. Hierdoor voorkom je dubbelposts, en kun je nog steeds bestanden uploaden.

[ Voor 48% gewijzigd door Eskimootje op 28-02-2003 15:38 ]


Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Je sluit anders niets af in je scriptje. Geen ;

en kun je niet makkelijk dit gebruiken?
code:
1
2
3
4
5
6
7
function send(buttonname)
{
  document.getElementById(buttonname).disabled = true;
  document.forms[0].submit();
}

<input type="button" onClick="send(blaat)" id="blaat">

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

  • DPLuS
  • Registratie: April 2000
  • Niet online
Dat heb ik net ook geprobeerd, maar het werkt ook niet.
Btw: ik gebruik IE6.

Ik snap er niets van, is er überhaupt wel iemand die zoiets geimplementeerd heeft én het werkend heeft?

Zoals ik al eerder aangaf lijkt het alsof het form stopt met data verzenden zodra de submit button ge-disabled wordt.

Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
dit zou gewoon simpelweg moeten werken. je disabled gewoon een button en submit het form. dat kan niet misgaan als het zoals bovenstaand oplost.

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Een disabled formitem word niet meegestuurd met de postdata, dit:
PHP:
1
elseif (isset($AddItem4))

is dus nooit meer waar...

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
nog een ding, ik zie daar exec staan, dat is wel heel eng.....kan je niet beter denken aan
rename of nog veiliger, move_uploaded_file ???????
Pagina: 1