[html] naam met post action in plaats van file

Pagina: 1
Acties:

  • morpheus
  • Registratie: November 1999
  • Laatst online: 12-09 17:35
beetje lastig om goede titel hiervoor te geven, maar ik hoop toch op wat nuttige reacties.

Ik ben bezig met een html form te maken waarbij ik wat files van hd wil selecteren. De volgende code bied me daarbij uitkomst.
code:
1
2
3
4
5
6
7
<FORM ENCTYPE="multipart/form-data" ACTION="_URL_" METHOD=POST>

File to process: <INPUT NAME="userfile1" TYPE="file">

<INPUT TYPE="submit" VALUE="Send File">

</FORM>

nu wil deze form het bestand doorsturen, echter, ik zou graag alleen de bestandsnaam met zijn lokatie willen doorsturen. bijv. de string c:\bladir\blabestand.txt

Waarom ik hiervoor type"file" gebruik?? omdat je dan zo'n mooi browse knopje erbij heb zodat de gebruiksvriendelijkheid wat groter is om een bestand te selecteren op de hd.

hoop dat iemand me hiermee enigszins kan helpen.

3kwp pvoutput


Verwijderd

Dit kan dus niet, in verband met security issues. Het is onmogelijk om op een computer de directory-structuur te bekijken/gebruiken. Het lijkt me heel erg duidelijk waarom.

Stel je voor dat iemand een PHP upload-script maakt dat jouw password bestanden opvraagt?

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 21:19

Pelle

🚴‍♂️

Op vrijdag 19 oktober 2001 16:33 schreef Cheatah het volgende:
Dit kan dus niet, in verband met security issues. Het is onmogelijk om op een computer de directory-structuur te bekijken/gebruiken. Het lijkt me heel erg duidelijk waarom.

Stel je voor dat iemand een PHP upload-script maakt dat jouw password bestanden opvraagt?
Dat klopt niet helemaal. Het is niet mogelijk om met JS de value van een <input type="file"> te setten, maar je kunt 'm wel uitlezen:
code:
1
alert(document.forms[0].elements['userfile1'].value);

Als je een javascriptje schrijft dat die value naar een hidden input schrijft, dan heb je wat je wilt, namelijk de locatie van die file in een input.

Verwijderd

Op vrijdag 19 oktober 2001 17:31 schreef Pelle het volgende:

[..]

Dat klopt niet helemaal. Het is niet mogelijk om met JS de value van een <input type="file"> te setten, maar je kunt 'm wel uitlezen:
code:
1
alert(document.forms[0].elements['userfile1'].value);

Als je een javascriptje schrijft dat die value naar een hidden input schrijft, dan heb je wat je wilt, namelijk de locatie van die file in een input.
Is het dan niet zo dat je alleen de naam van die file krijgt, en niet de lokatie?

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 21:19

Pelle

🚴‍♂️

Op vrijdag 19 oktober 2001 19:51 schreef Cheatah het volgende:
Is het dan niet zo dat je alleen de naam van die file krijgt, en niet de lokatie?
Noop.. probeer het maar :)

Verwijderd

Op vrijdag 19 oktober 2001 19:55 schreef Pelle het volgende:

Noop.. probeer het maar :)
|:( (zie mijn sig >:)) stom dat ik het niet effe zelf probeer :P

Maar inderdaad, je hebt gelijk. Ik vind het toch maar een beetje vaag om eerlijk te zijn.

  • morpheus
  • Registratie: November 1999
  • Laatst online: 12-09 17:35
hmmm, dat ga ik eens proberen dan :)

is het dan mogelijk om de send knop ook nog weg te werken, zodat niet toevallig op de verkeerde knop geklikt kan worden??

3kwp pvoutput


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 20:06

RM-rf

1 2 3 4 5 7 6 8 9

Op zaterdag 20 oktober 2001 13:52 schreef morpheus het volgende:
is het dan mogelijk om de send knop ook nog weg te werken, zodat niet toevallig op de verkeerde knop geklikt kan worden??
je kunt bijvoorbeeld style="display:none;" erin zetten en via javascript met thiselement.style.display =(thiselement.style.display=="none")?"block":none; de zichtbaarheid laten togglen (msie4+ en moz)

ns4+ compatibliteit is lastig omdat netscape geen layers binnen een form toestaat zonder het form te vernietigen (vanwege document.layers['blah'].document-model) maar meen wel dat dit oplosbaar is door te werken met visibility.HIDE (voor netscape)

je kunt ook aan een oplossing denken als
code:
1
2
3
4
5
6
7
8
9
10
11
<form name="form1">
<input type="text" name="bestand" 
   onfocus="document.forms['form2'].elements['filebrowse'].click()">
<input type="submit" name="submit" style="display:none;">
</form>
<form name="form2" style="display:none" onsubmit="return false;">
<input type="file" name="filebrowse" 
   onchange="document.forms['form1'].elements['bestand'].value = this.value;
    document.forms['form1'].elements['submit'].display='block';
    window.focus()">
</form>

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen

Pagina: 1