/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Ændre javascript så 2 filtyper tillades ti~
Fra : Jakob Munck


Dato : 21-07-02 08:27

Jeg bruger et javascript til at evaluere, at filendelsen er rigtig på filer,
som skal uploades til min site. Scriptet virker fint, og ser ud som vist
nedenfor. Men nu kunne jeg godt tænke mig at ændre det, at det ikke kun
tillader .jpg filer at blive uploadet, men så også .gif filer kan uploades.
Det kræver en ændring af koden i den linie i scriptet, hvor jeg har sat =>.

Men hvordan skal dette script ændres, så det både tillader .jpg og .gif
filer at blive uploadet?


<SCRIPT LANGUAGE=javascript>
function submitForm() {
if (CheckFile())
document.forms[0].submit();
}
function CheckFile() {
if (self.window.document.uploadform.fil.value.length <= 0) {
self.window.alert("Du skal vælge et billede !");
return false;
}
p = self.window.document.uploadform.fil.value.lastIndexOf(".");
if (p<0) {
self.window.alert("Dette er ikke en gyldig fil");
return false;
}
ext = self.window.document.uploadform.fil.value.slice(p);
=> if ((ext.toLowerCase() != ".jpg")) {
self.window.alert("Billedfilen skal være i .jpg-format");
return false;
}
if (self.window.document.uploadform.kommentar.value.length <= 3) {
self.window.alert("Du skal skrive en kommentar til billeder !");
return false;
}
return true;
}
</SCRIPT>


v.h.
Jakob Munck



 
 
Anders (22-07-2002)
Kommentar
Fra : Anders


Dato : 22-07-02 07:57

Kan du ikke bare ændre linien til:

if ((ext.toLowerCase() != ".jpg") && (ext.toLowerCase() != ".gif")) {

Så skulle det da tillade begge billeder...

Håber du kan bruge det:)

Hilsen Anders

P.S. Husk lige at ændre bekseden i alerten;)

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jakob Munck (22-07-2002)
Kommentar
Fra : Jakob Munck


Dato : 22-07-02 09:23

Det virker. Tak for rådet !

v.h.
Jakob



Hintzmann (22-07-2002)
Kommentar
Fra : Hintzmann


Dato : 22-07-02 07:58

Hej Jakob

Jeg har lavet en ny funktion til dig, som er en prototype på string. D.v.s at
du kan benytte den på en string som du benytter alm. string funktioner, såsom
slice(), lastIndexOf(), toLowerCase().
Samtidig tager funktionen x-antal argumenter, så du kan spørge på ligeså mange
endelser du har lyst til.

<script type="text/javascript">
String.prototype.endsWith = function() {
var bOk = false
for (var i = 0; i < arguments.length; i++) {
if (this.indexOf(arguments[i]) == this.length - arguments[i].length) {
bOk = true
break
}
}
return bOk
}
</script>

Følgende returnere true eller false alt efter om feltet "fil" slutter på .gif
eller .jpg.
document.formen.texten.value.endsWith('.gif','.jpg');

og hvis du ikke vil have den case sensitive
document.formen.texten.value.toLowerCase().endsWith('.mov','.avi','.wmv');

Og således benytter du den i din kode

if (document.uploadform.fil.value.toLowerCase().endsWith('.gif','.jpg')) {
alert("Billedfilen skal være af gif. eller .jpg-format");
return false;
}


... smart ?

Hintzmann


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jakob Munck (23-07-2002)
Kommentar
Fra : Jakob Munck


Dato : 23-07-02 08:29

Tak skal du have Hintzmann, men det at kunne vurdere mange forskellige
fil-endelser, kan jeg vel også lave på den måde, som Anders foreslog, altså
ved at tilføje "&& (ext.toLowerCase() != ".gif")) " én eller flere gange
blot med andre fil-endelser end .gif ? Så derfor kan jeg ikke helt se, hvad
jeg vinder ved at bruge den kode du foreslår i stedet ?

Er der noget jeg har misforstået?

v.h.
Jakob Munck



Hintzmann (23-07-2002)
Kommentar
Fra : Hintzmann


Dato : 23-07-02 08:25

> blot med andre fil-endelser end .gif ? Så derfor kan jeg ikke helt se,
hvad
> jeg vinder ved at bruge den kode du foreslår i stedet ?

Hej Jakob

Umiddelbart vinder du ikke noget ved at bruge min kode frem for Anders.

Men jeg vil dog sige at min kode er mere ren og nemmere at genbruge.

Smid funktionen ind i en js-fil med en masse andre funktioner til validering
af forms,
og så har du lige pludselig et lækkert js-bibliotek at lege med.
Minsker kode skrivningen i det lange løb.

Hintzmann





Jakob Munck (23-07-2002)
Kommentar
Fra : Jakob Munck


Dato : 23-07-02 13:53

OK, tak !

jm



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste