Disable submit knap ved valideringsfejl
Hejsa..Jeg bruger et AJAX/JavaScript til at validere en form, og i den forbindelse vil jeg gerne ha at submit knappen bliver disbaled hvis et af felterne ikke validere rigtigt.
Jeg er ikke nogen javascript haj, og har derfor lidt problemer med at implementere denne funktion. Er der en der kan hjælpe mig ?
JavaScript til form validering:
<script language="javascript" type="text/javascript" src="jquery.js"></script>
<script language="javascript" type="text/javascript">
function ValidateInput(input)
{
var id = input.id;
var field = input.name;
var value = input.value;
$("#" + id).fadeOut();
$("#" + id).removeClass('goodinput');
$("#" + id).removeClass('badinput');
$.post("validate.php", { inputdata: value, inputfield: field },
function(data)
{
if(data == 1)
$("#" + id).addClass('goodinput');
else
$("#" + id).addClass('badinput');
$("#" + id).fadeIn();
});
}
$(document).ready(function()
{
var RequiredFields = new Array();
RequiredFields[0] = "fornavn";
RequiredFields[1] = "username";
RequiredFields[2] = "password";
RequiredFields[3] = "email_address";
for(i=0; i < RequiredFields.length; i++)
{
$("#" + RequiredFields[i]).blur(function()
{
ValidateInput(this);
});
}
});
</script>
PHP Script til valideringen:
<?php
$input = strip_tags(trim($_POST['inputdata']));
$field = strip_tags(trim($_POST['inputfield']));
include("dbcon.php");
if(empty($input)) {
echo 0;
}else{
if($field == 'username') {
if(empty($input)) {
echo 0;
}else{
$query = "SELECT * FROM users WHERE username = '$input'";
$result = mysql_query($query) or die (mysql_error());
if($row = mysql_fetch_array($result)) {
echo 0;
}else{
echo 1;
}
}
exit;
}
if($field == 'email_address') {
if(empty($input)) {
echo 0;
}else{
if(eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $input)) {
$query = "SELECT * FROM users WHERE email = '$input'";
$result = mysql_query($query) or die (mysql_error());
if($row = mysql_fetch_array($result)) {
echo 0;
}else{
echo 1;
}
}
else {
echo 0;
}
}
exit;
}
echo 1;
}
?>
