Hallo Javascript-Freunde,
mein Name ist Andi, bin neu hier, habe absolut keine Ahnung von Javascript und hoffe auf eine kleine Unterstützung der Profis in diesem Board.
Für ein kleines Kontaktformular, das ich als Muster aus dem Netz bekommen habe, möchte ich gerne, das die Telefonnummer als Pflichtfeld und auf einen gültigen Eintrag geprüft wird. Das Feld wird in der Form als "Phone" bezeichnet. Das die Telefonnummer aus dem JS mitgesendet wird, habe ich eher Zufälligerweise hinbekommen. Nur für die gültige Eingabe bzw. Prüfung der Eingabe, fehlt mir das Verständnis. Ich hoffe das jemand den Code für mich ergänzen kann?
Gruß
Andi
mein Name ist Andi, bin neu hier, habe absolut keine Ahnung von Javascript und hoffe auf eine kleine Unterstützung der Profis in diesem Board.
Für ein kleines Kontaktformular, das ich als Muster aus dem Netz bekommen habe, möchte ich gerne, das die Telefonnummer als Pflichtfeld und auf einen gültigen Eintrag geprüft wird. Das Feld wird in der Form als "Phone" bezeichnet. Das die Telefonnummer aus dem JS mitgesendet wird, habe ich eher Zufälligerweise hinbekommen. Nur für die gültige Eingabe bzw. Prüfung der Eingabe, fehlt mir das Verständnis. Ich hoffe das jemand den Code für mich ergänzen kann?
Gruß
Andi
Code:
(function() {
var animateSpeed=300;
var emailReg = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
// Validating
function validateName(name) {
if (name.val()=='*') {name.addClass('validation-error',animateSpeed); return false;}
else {name.removeClass('validation-error',animateSpeed); return true;}
}
function validateEmail(email,regex) {
if (!regex.test(email.val())) {email.addClass('validation-error',animateSpeed); return false;}
else {email.removeClass('validation-error',animateSpeed); return true;}
}
function validateMessage(message) {
if (message.val()=='') {message.addClass('validation-error',animateSpeed); return false;}
else {message.removeClass('validation-error',animateSpeed); return true;}
}
$('#send').click(function() {
var result=true;
var name = $('input[name=name]');
var email = $('input[name=email]');
var phone = $('input[name=phone]');
var message = $('textarea[name=message]');
// Validate
if(!validateName(name)) result=false;
if(!validateEmail(email,emailReg)) result=false;
if(!validateMessage(message)) result=false;
if(result==false) return false;
// Data
var data = 'name=' + name.val() + '&email=' + email.val() + '&phone=' + phone.val() + '&message=' + encodeURIComponent(message.val());
// Disable fields
$('.text').attr('disabled','true');
// Loading icon
$('.loading').show();
// Start jQuery
$.ajax({
// PHP file that processes the data and send mail
url: "contact.php",
// GET method is used
type: "GET",
// Pass the data
data: data,
//Do not cache the page
cache: false,
// Success
success: function (html) {
if (html==1) {
// Loading icon
$('.loading').fadeOut('slow');
//show the success message
$('.success-message').slideDown('slow');
// Disable send button
$('#send').attr('disabled',true);
}
else {
$('.loading').fadeOut('slow')
alert('Fehler beim senden.');
}
}
});
return false;
});
$('input[name=name]').blur(function(){validateName($(this));});
$('input[name=email]').blur(function(){validateEmail($(this),emailReg); });
$('textarea[name=message]').blur(function(){validateMessage($(this)); });