[js] onsubmit

0

na formularzu mam atrybut onsubmit wywołujący taką funkcję:

function sprawdz() {
	var a = 0;
	var alarm = '';
	with(document.f) {
		if(imie.value=='') {alarm += ' imię'; a++}
		if(nazwisko.value=='') {alarm += (a)? ', nazwisko': ' nazwisko'; a++}
		if(pass1.value=='') {alarm += (a)? ', hasło': ' haslo'; a++}
		if(pass2.value=='') {alarm += (a)? ', potwierdzenie': ' potwierdzenie'; a++}
		if(pass1.value!=pass2.value) {alert('Hasła nie zgadzają się!'); return false}
		if(alarm.length>0) {alert('Wpisz'+alarm+'!'); return false}
	}
	var hid = document.getElementById('hid')
	zawartosc = '<input type="hidden" name="sql" value="'+sql+'" /><input type="hidden" name="job" value="'+job+'" /><input type="hidden" name="url" value="'+url+'" /><input type="hidden" name="file" value="'+file+'" />'
	hid.innerHTML = zawartosc; return true
}

no i jak np nie wpiszę potwierdzenia hasła to wyskakuje komunikat,
ale formularz i tak się wysyła, dlaczego?

0

Trzeba fałsz zwrócić w zdarzeniu onsubmit.

0

dałem:

<form method="post" action="register.php" enctype="multipart/form-data" name="f" onsubmit="sprawdz(); return false">

no i teraz się w ogóle nie wysyła...

0

Oczywiste, że się nie wysyła, bo zawsze wysyłasz false.

<form method="post" action="register.php" enctype="multipart/form-data" name="f" onsubmit="return sprawdz();">


```javascript
function sprawdz() {
        var a = 0;
        var alarm = '';
        with(document.f) {
                if(imie.value=='') {alarm += ' imię'; a++}
                else if(nazwisko.value=='') {alarm += (a)? ', nazwisko': ' nazwisko'; a++}
                else if(pass1.value=='') {alarm += (a)? ', hasło': ' haslo'; a++}
                else if(pass2.value=='') {alarm += (a)? ', potwierdzenie': ' potwierdzenie'; a++}
                else if(pass1.value!=pass2.value) {alert('Hasła nie zgadzają się!'); return false}
                else if(alarm.length>0) {alert('Wpisz'+alarm+'!'); return false}
        }
        var hid = document.getElementById('hid')
        zawartosc = '<input type="hidden" name="sql" value="'+sql+'" /><input type="hidden" name="job" value="'+job+'" /><input type="hidden" name="url" value="'+url+'" /><input type="hidden" name="file" value="'+file+'" />'
        hid.innerHTML = zawartosc; 
        return true;
}
0

dzięki [wstyd]

1 użytkowników online, w tym zalogowanych: 0, gości: 1