[jQuery] Live Form Validation

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Goedendag tweakers...

Ik probeer een simpel Live validation scriptje te maken m.b.v. jQuery. Het wil alleen niet zo werken als ik graag zou willen. Wat de bedoeling is spreek voor zich. Het probleem is dat de melding niet weer wordt gegeven. Als ik de lijn 22 vervang voor lijn 2 en lijn 26 vervang door lijn 6, werkt alles wel.

Ik ben alleen heel goed in het knippen en plakken van javascript, dus ik hoop dat iemand mij op een simpele manier kan laten zien wat ik fout doe.


JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
function displayInputMessage ( InputID, Class, Message ) {
    $(this).after('<span id="' + InputID + 'Message" class="input-' + Class + '">' + Message + '</span>');
}

function removeInputMessage ( InputID ) {
    $('#' + InputID + 'Message').remove();
}

jQuery(function(){
                
    $('#Title').bind('blur', function(){
        if( $(this).val() == '' ) {
            Class   = 'error';
            Message = 'Voer een titel in!';
        } else if (GameTitleExists($(this).val())) {
            Class   = 'error';
            Message = 'Deze game staat al in de database!';
        } else {
            Class   = 'success';
            Message = '';
        }
        displayInputMessage( 'Title', Class, Message );
    });

    $('#Title').bind('focus keypress click', function(){
        removeInputMessage('#TitleMessage');
    });

});

Acties:
  • 0 Henk 'm!

Verwijderd

Bij het eerste probleem zou ik proberen even wat andere variabelen te gebruiken is Class niet reserved of ben ik nou gek :$, gewoon om te testen dus

Bij lijn 26 spreekT het voor zich: Je removed: #TitleMessage, maar in de functie zet je er ook nog: # en Message eromheen waardoor je ##TitleMessageMessage krijg, wat dus niet gaat werken neem ik aan.

Goodluck :)

[ Voor 64% gewijzigd door Verwijderd op 29-12-2009 17:31 . Reden: Rare zinnen ]


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
En een hint voor displayInputMessage: je wil met de functie achter een bepaald element een extra stukje html plakken. Dat achter een bepaald element uit mijn vorige zin heeft bij jouw in de functie de betekenis van $(this). Nu moet jij je even afvragen waar je die $(this) vandaan haalt :)

Acties:
  • 0 Henk 'm!

Verwijderd

mithras schreef op dinsdag 29 december 2009 @ 17:36:
En een hint voor displayInputMessage: je wil met de functie achter een bepaald element een extra stukje html plakken. Dat achter een bepaald element uit mijn vorige zin heeft bij jouw in de functie de betekenis van $(this). Nu moet jij je even afvragen waar je die $(this) vandaan haalt :)
Ow ja dat was het, keek er maar zo overheen |:(

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik voel me heel dom |:( |:(
Niet netjes geplakt :X

bedankt!!