Potrzebuje jakiegoś kodu do walidacji jak w temacie... dokładnie chodzi o to żeby plik, który jest wysyłany na serwer nie zawierał znaków specjalnych "łąć spacji" itd....
P.S szukałem ale nie mogłem znaleść ;/
Z góry dzięki
-----------------------------
Widzę ze na razie nie mam odpowiedzi wiec wsadzę kod...
Oto on (Pole file i walidacja nazwy bez spacji i znaków specjalnych...):
Kod
<script type="text/javascript" language="Javascript">
<!-- // Powoduje, że zawarto¶ć skryptu nie zostanie wy¶wietlona w starszych
function check_form() {
if(form.nazwa.value != '' && !(validateFILES(form.nazwa.value))) {
alert('Niepoprawna nazwa!');
form.nazwa.focus();
form.nazwa.select();
return false;
} else {
return confirm('Jeste¶ pewny że chcesz wysłać formularz?');
}
return true;
}
function validateFILES(name) {
var regEx = /^\w+([a-z]{1,}?\w+)*(\.\w{1,})$/;
return regEx.test(nazwa);
}
//-->
</script>
<form name="form" enctype="multipart/form-data" action="cos.htm" method="post" onsubmit="return
check_form();">
<b>Nazwa*:</b><br>
<input type="file" name="nazwa" id="nazwa" size="60%">
<div align=center><input type="submit" value="Dodaj użytkownika"></div>
</form>
<!-- // Powoduje, że zawarto¶ć skryptu nie zostanie wy¶wietlona w starszych
function check_form() {
if(form.nazwa.value != '' && !(validateFILES(form.nazwa.value))) {
alert('Niepoprawna nazwa!');
form.nazwa.focus();
form.nazwa.select();
return false;
} else {
return confirm('Jeste¶ pewny że chcesz wysłać formularz?');
}
return true;
}
function validateFILES(name) {
var regEx = /^\w+([a-z]{1,}?\w+)*(\.\w{1,})$/;
return regEx.test(nazwa);
}
//-->
</script>
<form name="form" enctype="multipart/form-data" action="cos.htm" method="post" onsubmit="return
check_form();">
<b>Nazwa*:</b><br>
<input type="file" name="nazwa" id="nazwa" size="60%">
<div align=center><input type="submit" value="Dodaj użytkownika"></div>
</form>
Wszystko działa OK jeśli to nie jest pole file... bo w polu file analizuje cała ścieżkę.... i tu jest problem nie wiem jak to zrobić by sprawdził tylko nazwę pliku!
Znalazłem taki skrypt: Wyciągania nazwy z pola file... ale moja wiedza w js jest tak mała ze nie potrafię tego podstawić do tego skryptu.
Kod
function show_name(){
f=document.getElementById("fil").value;
off=f.length - f.lastIndexOf("\\");
return f.substr(f.lastIndexOf("\\")+1,off);
}
f=document.getElementById("fil").value;
off=f.length - f.lastIndexOf("\\");
return f.substr(f.lastIndexOf("\\")+1,off);
}
------------------------------------------
EDIT 2:
OK. widzę ze dalej nikt nie wie lub nie wiem co...

Trochę zmieniony kod... już jest coraz bliżej rozwiązania, ale brakuje tej kropeczki ;/...
Kod
<script type="text/javascript" language="Javascript">
<!-- // Powoduje, że zawartoć skryptu nie zostanie wywietlona w starszych
function check_form() {
if(form.nazwa.value != '' && !(validateFILES(form.nazwa.value))) {
alert('Niepoprawna nazwa!');
form.nazwa.focus();
form.nazwa.select();
return false;
} else {
return confirm('Jeste pewny że chcesz wysłać formularz?');
}
return true;
}
function validateFILES(nazwa) {
var akcja=nazwa.slice(nazwa.lastIndexOf('/')+1);
var regEx = /^\w+([a-z]{1,}?\w+)*(\.\w{1,})$/;
alert(akcja);
return regEx.test(akcja);
}
//-->
</script>
<!-- // Powoduje, że zawartoć skryptu nie zostanie wywietlona w starszych
function check_form() {
if(form.nazwa.value != '' && !(validateFILES(form.nazwa.value))) {
alert('Niepoprawna nazwa!');
form.nazwa.focus();
form.nazwa.select();
return false;
} else {
return confirm('Jeste pewny że chcesz wysłać formularz?');
}
return true;
}
function validateFILES(nazwa) {
var akcja=nazwa.slice(nazwa.lastIndexOf('/')+1);
var regEx = /^\w+([a-z]{1,}?\w+)*(\.\w{1,})$/;
alert(akcja);
return regEx.test(akcja);
}
//-->
</script>
PROBLEM... nie działa bo usuwa tylko łańcuch "asdsad/asdsad/asdsa" a nie np. "c:/asdsad/asdsad/sad"! Ktoś powie jak usuwać ten początek…
----------------------------------------------------
EDIT KONCOWY
No teraz sprawa rozwiazan troche zeszło... hihi mozecie zamknac temat! Podaje kod jakby ktoś miał problem:
Kod
<script type="text/javascript" language="Javascript">
<!-- // Powoduje, że zawartoć skryptu nie zostanie wywietlona w starszych
function check_form() {
if(form.nazwa.value != '' && !(validateFILES(form.nazwa.value))) {
alert('Niepoprawna nazwa!');
form.nazwa.focus();
form.nazwa.select();
return false;
} else {
return confirm('Jeste pewny że chcesz wysłać formularz?');
}
return true;
}
function validateFILES(nazwa) {
var akcja=nazwa.slice(nazwa.lastIndexOf('\\')+1);
var regEx = /^\w+([a-z]{1,}?\w+)*(\.\w{1,})$/;
alert(akcja);
return regEx.test(akcja);
}
//-->
</script>
<!-- // Powoduje, że zawartoć skryptu nie zostanie wywietlona w starszych
function check_form() {
if(form.nazwa.value != '' && !(validateFILES(form.nazwa.value))) {
alert('Niepoprawna nazwa!');
form.nazwa.focus();
form.nazwa.select();
return false;
} else {
return confirm('Jeste pewny że chcesz wysłać formularz?');
}
return true;
}
function validateFILES(nazwa) {
var akcja=nazwa.slice(nazwa.lastIndexOf('\\')+1);
var regEx = /^\w+([a-z]{1,}?\w+)*(\.\w{1,})$/;
alert(akcja);
return regEx.test(akcja);
}
//-->
</script>