webForumDet fria alternativet

Det lika intressanta ämnet: Formulärskontroll

JavaScript

6 svar · 264 visningar · startad av Mr.Switch

Medlem sedan nov. 200153 inlägg
Frågan#1

Har ett formulär där det går att ladda upp en fil.

Man få först fråga "Vill du ladda upp en fil?" Den är satt NEJ som default. Om man klickar i JA så tänds ett lager med själva bläddringsknappen.

Till mitt problem: Om man klickar i JA men skippar att bläddra upp en fil så blir det knas. Hur gör jag för att kolla att någon har "bläddrat" upp en fil om JA alternativet är förklickat?? JA och NEJ knapparna är radiobuttons.

// Switchen

Medlem sedan juli 20039 inlägg
#2

Hmm...., det är väl något du måste kontrollera i serverscriptet som tar emot filen (med PHP, ASP eller vad du nu använder...) eller...?
För så vitt jag vet finns det väl inget sätt att med javascript kolla om det är en giltig fil man "bläddrat" fram i en file-input..., man kan ju förvisso kolla av value för file-inputen för att försäkra sig om att det står något där, men det behöver ju inte betyda att det är en giltig fil...

Medlem sedan mars 2003970 inlägg
#3

Som apskaft säger, för att kolla om det är ifyllt, använd javascript.
Men ska man kolla om det är giltigt, använd ett SSL (Server Side Language) som typ ASP llr PHP.

Medlem sedan nov. 200153 inlägg
#4

Det jag är ute efter är hur jag kollar av formuläret, inte om filen är valid.

Om nån är så j**la dum och försöker ladda upp en fil som inte finns så får dom skylla sig själva :)

Medlem sedan juli 20039 inlägg
#5

Ok, men det kan du ju då kolla med value-egenskapen som jag nämnde..., alltså nåt i stil med:

var f = document.forms['namn_på_formuläret'].namn_på_din_file_input;
if (f.value == '') {
  alert("Du måste välja en fil!");
  f.focus();
  return false;
}
Medlem sedan nov. 200153 inlägg
#6

Tack ska du ha!
Men den kollen ska bara göras om radiobutton med value "JA" är checkad. Hur fixar man ihop det måntro???

Medlem sedan juli 20039 inlägg
#7

Ja just det..., det glömde jag visst bort... :r
Prova nåt sånt här istället då:

var f = document.forms['namn_på_formuläret'];
if (f.namn_på_radioknapparna[0].checked && f.namn_på_din_file_input.value == '') {
  alert("Du måste välja en fil!");
  f.namn_på_din_file_input.focus();
  return false;
}

Detta förutsatt att JA-radioknappen ligger före NEJ-knappen, byt annars ut [0] mot [1]

253 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)