[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, botów: 0