Toon posts:

File uploading zonder lelijk input-veld

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig om een input file form te maken waarvan de orginele 'browse..' button ontbreekt en vervangen is door een andere knop.

Dat lukt als volgt:
code:
1
2
<input type="file" name="upload" style="display: none;" />
[img]"whatever.gif"[/img]


Maar dan heb ik geen veld om te checken wat er ingevoerd is.
Daar is de volgende oplossing voor:

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
<html>
<head></head>
<body>

<form enctype="multipart/form-data" name="test_form" method="post" action="javascript:alert('submitted');">
<input type="text" name="file">
<input type="button" 
      style="font-style:veranda; font-size:12px; font-weight:bold;text-transform:lowercase;color:white;background-color:#A2C382;height:22px;border-style:ridge;text-align:center;" 
      onClick="document.dummy.browse.click();this.form.file.value=document.dummy.browse.value;" 
      value="Select a File...">        
<br><br>
<!-- must be clicked twice for the form to submit! -->
<input type="submit" 
      name="submit"
      value="Submit The Form Now!"
      style="font-style:veranda; font-size:12px;" >
</form>

<form name="dummy">
<input type="file" name="browse" style="display:none;">
</form>

</body>
</html>


Maar het vreemde hier weer is dat het er wel mooi en aardig uit ziet maar dat er niets gesubmit wordt, dus geen post waardes worden door gegeven aan php. of welke andere serverside taal dan ook maar, dus er wordt niets geupload.

Deze topic is een antwoord op: File uploading zonder lelijk input-veld

Het brengt ons een grote stap verder maar nog niet tot de oplossing. Ik snap maar niet hoe gmail dat voor elkaar heeft. Volgens mij heeft Crisp ook zoiets in zijn GoT Tracker en ik hoop bij deze dat Crisp uitleg kan geven hoe je dit wel werkend krijgt.

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Je kan crisp dan ook mailen ;)

IIG, voor zover ik kan inschatten wordt in de GoT Tracker het volgende gedaan:

HTML:
1
2
<input type="file" id="browse" style="display:none;" 
onchange="document.getElementById('display_veld').value=this.value;>


Het display veld bevat een link of button die 't volgende aanroept:
JavaScript:
1
2
3
function browsepref() {
    document.getElementById('browse').click();
}

[ Voor 33% gewijzigd door BtM909 op 16-01-2005 23:32 ]

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 21:36

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Post-vars :? Je moet natuurlijk wel $_FILES nemen 8)7

/edit:

Overigens is het tegenwordig this.form.elements['naam'].value

[ Voor 42% gewijzigd door Thijsmans op 17-01-2005 00:06 ]

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


Verwijderd

Topicstarter
Prammenhanger schreef op maandag 17 januari 2005 @ 00:05:
Post-vars :? Je moet natuurlijk wel $_FILES nemen 8)7

/edit:

Overigens is het tegenwordig this.form.elements['naam'].value
Voor de upload uiteraard $_FILES maar er komt niets binnen.

Het is een security issue, op zich wel logisch want als het bovenste zou werken dan is dat maar een kleine stap verwijderd van het automatisch toevoegen van bestanden van de niets wetende gebruiker en die gaan uploaden.

Maar(!) hoe heeft gmail dat dan, het is echt ongelovelijk.

Verwijderd

Topicstarter
code:
1
<input type=file size=50 "+AH+" name=file"+yv+' onchange="top.js._CM_OnAttach(window,this)"'+"> "+"<span class=s "+(da?'style="display:none"':"")+">"+aa("remove","da_"+yv,true)+"</span>";


code:
1
function tq(b){;return aa(b.attachments+b.fwd_attach.length>0?"Attach another file":"Attach a file","at",true)}


code:
1
function aa(S,id,hF,Ku){return"<span class="+(hF?"lk":"l")+' id="'+id+'" '+(Ku?Ku:"")+">"+S+"</span>"}


Dat is hoe google het heeft. Maar daar valt niets uit te halen.

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

Ik vond op een site een mooie manier om een absolute een divje neer te zetten met wat graphics. Daaroverheen zet je geloof ik een file input op invisible en dat vangt dan nog steeds de click af.

Ik zal straks @ work ff zoeken in m'n rss reader. het is wel mogelijk iig :)

Stop uploading passwords to Github!


Verwijderd

Topicstarter
SchizoDuckie schreef op maandag 17 januari 2005 @ 07:59:
Ik vond op een site een mooie manier om een absolute een divje neer te zetten met wat graphics. Daaroverheen zet je geloof ik een file input op invisible en dat vangt dan nog steeds de click af.

Ik zal straks @ work ff zoeken in m'n rss reader. het is wel mogelijk iig :)
Dat zou ik enorm waarderen, ik neem aan dat je dan ook a:hover kan instellen voor de knop die daaronder zit?

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Verwijderd schreef op maandag 17 januari 2005 @ 09:55:
[...]


Dat zou ik enorm waarderen, ik neem aan dat je dan ook a:hover kan instellen voor de knop die daaronder zit?
Wat werkt er niet precies aan 't voorbeeld wat ik gaf :?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

Stop uploading passwords to Github!


  • JayVee
  • Registratie: Mei 2002
  • Laatst online: 14-11-2025

JayVee

shibby++!

^ ^ ^ ^ ^ wat SchizoDuckie zegt. Maar is wel erg hacky.

ASCII stupid question, get a stupid ANSI!

Pagina: 1