Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][AJAX]jQuery POST
Forum PHP.pl > Forum > Przedszkole
Fifi209
Czytam dokumentację, czytam kursy. Dalej nie wiem jak to ugryźć...

Tak w skrócie:

Kod
var name, pass, ajax;

function waliduj() {
    name.val = $("#name").val();
    pass.val = $("#pass").val();
    name.length = $("#name").val().length;
    pass.length = $("#pass").val().length;
    
    var reg = /^[a-zA-Z0-9 ]+$/;
    if (name.length > 0) {
        if (!reg.test(name.val)) {
            alert('Nazwa użytkownika zawiera niedozwolone znaki!');
            return false;
        }
    }else{
        alert('Podaj nazwę użytkownika!');
        return false;
    }
    
    if (pass.length > 0) {
        if (!reg.test(pass.val)) {
            alert('Hasło zawiera niedozwolone znaki!');
            return false;
        }
    }else{
        alert('Podaj hasło!');
        return false;
    }
    
    ajax.name = name.val;
    ajax.pass = pass.val;
    return true;
}

function sendForm() {
    if (waliduj() == true) {
        ajax = $.ajax({
            type: "POST",
            url: "form.php",
            data: ({name : this.name}),
            dataType: "html",
            success: function (msg) {
                load(msg);
            }    
        });
    }
}
        
        
        

$(document).ready(
    function() {
        
        
    }
);


A teraz "strona":
  1. <head>
  2. <script type="text/javascript" src="jQuery.js"></script>
  3. <script type="text/javascript" src="ajax.js"></script>
  4. </head>
  5.  
  6. <body>
  7. <input type="text" id="name"><br/>
  8. <input type="password" id="pass"><br/>
  9. <input type="button" onclick="sendForm();" value="Ok">
  10.  
  11. <div id="response"></div>
  12. </body>
  13. </html>


Firebug pokazuje:
Kod
pass is undefined
[Break on this error] pass.val = $("#pass").val();


Gdzie robię błąd?
seth-kk
powinienes tak deklarowac zmienne do ktorych dopisujesz wlasnosci
  1. var name = {}
Fifi209
Cytat(seth-kk @ 28.05.2009, 19:12:23 ) *
powinienes tak deklarowac zmienne do ktorych dopisujesz wlasnosci
  1. var name = {}


Próbowałem. Mniejsza o to, już wszystko działa.

Proszę o zamknięcie tematu.

Dla ciekawych:

Kod
var name, pass, ajax;

function waliduj() {
    name = $("#name").val();
    pass = $("#pass").val();
    
    var reg = /^[a-zA-Z0-9 ]+$/;
    if (name.length > 0) {
        if (!reg.test(name)) {
            alert('Nazwa użytkownika zawiera niedozwolone znaki!');
            return false;
        }
    }else{
        alert('Podaj nazwę użytkownika!');
        return false;
    }
    
    if (pass.length > 0) {
        if (!reg.test(pass)) {
            alert('Hasło zawiera niedozwolone znaki!');
            return false;
        }
    }else{
        alert('Podaj hasło!');
        return false;
    }

    ajax = name;
    ajax = pass;
    return true;
}

function sendForm() {
    if (waliduj() == true) {
            ajax = $.ajax({
            type: "POST",
            url: "form.php",
            data: ({name : this.name, password : this.pass}),
            dataType: "html",
            success: function (msg) {
                if (msg.indexOf('ok') >= 0) {
                    $("#form").hide();
                    $("#response").text('Zostałeś pomyślnie zalogowany!');
                }else{
                    $("#response").text('Niepoprawny login/hasło');
                }
                    
            }    
        });
    }    
}
        
        
        

$(document).ready(
    function() {
        
        
    }
);
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.