Wanneer je submit moet natuurlijk gecontroleerd worden dat de meegegeven waarde niet overeenkomt met het attribuut 'value'. Je moet met andere woorden iets anders ingevuld hebben in het tekstvak.
Met X.attr('name') lukte het perfect maar dan moest ik de POST-namen aanpassen in het Nederlands en in hou het liever in het Engels. Daarom heb ik, ergens logisch, de value-attribuut gebruikt. Sindsdien wordt er altijd 'false' gereturned.
Die controle probeer ik met dit stukje. Het moet foutlopen bij X.val() == X.attr('value').
De formuliercontrole wordt opgeroepen bij de submit van het formulier (onsubmit)
<script type="text/javascript">
function check_form()
{
var the_return = true;
var empty_fields = ['username','password1','password2','name','firstname'];
for (i=0; i<empty_fields.length; i++)
{
var $field = $('#'+empty_fields[i]);
if ($.trim($field.val()) == '')
{
$field.addClass('error');
the_return = false;
}
else
{
if($.trim($field.val()) == $field.attr('value'))
{
$field.addClass('error');
the_return = false;
}
else
{
$field.removeClass('error');
}
}
}
if (the_return == true)
{
if( $.trim($('#password1').val()) != $.trim($('#password2').val()) )
{
$('#password1').addClass('error');
$('#password2').addClass('error');
the_return = false;
}
}
return the_return;
}
</script>