Funktion von Jquery-Registrierung
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
adresse
code
element
email
form
formular
funktion
grad
helfen
highlight
idee
input
jemand
macke
melde
posten
quellcode
registrieren
type
url
-
Hey Leute.
Habe mir eine Form-Validierung per JQuery erstellt. Leider hat das Script in sofern eine Macke, als das es die Daten unter keinem Umstand versendet. Hätte jemand eine idee, wodran das liegen könnte?
Hier noch die url: http://n8life.com/
Oben rechts gibt es den Button registrieren. Wenn man diesen klickt, öffnet sich ein overlay mit ebend genantem Formular sowie fehler.
Würde mich echt über hilfe freuen
Daniel -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
color schrieb:
Kannst du villeicht das Script posten? Ich finde es in deinem Quellcode grad net. Danach kann ich dir sicher besser helfen. Ich nehm halt mal an das du das script villeicht noch auf debug:true stehn hast, damit es net abgeschickt wird, aber ich muss es halt mal gesehn haben
Grüsse
Color
Naja. Das Problem bei diesem Quellcode ist, dass er ziemlich unübersichtlich ist. Aber hier ist der Code, der für die valdierung verantwortlich ist:
$(document).ready(function() { $('.error').hide(); $('.error').css("opacity",0.6); var validateUsername = $('.nameerror'); function isValidEmailAddress(emailAddress) { var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i); return pattern.test(emailAddress); } $("#email").blur(function(){ var email = $("#email").val(); if (isValidEmailAddress(email)) { $('.emailerror').slideUp('fast'); }else{ $('.emailerror').empty(); $('.emailerror').slideDown('fast'); $('.emailerror').append('Dies ist keine gültige E-Mail-Adresse'); } }) jQuery.fn.highlight = function(className){ var selector = 'li'; var className = className || 'highlight'; $('#regis li').click(function(){ $('#regis li').removeClass(className); $(this).addClass(className); $(this).children('input').focus(); }); /** funktion zur verbesserten benutzerführung */ this.each(function(){ var elements = jQuery("input, textarea, select, multi-select, :text, :image, :password, :radio, :checkbox, :file", this); elements.bind('focus', function(){ var parents = jQuery(this).parents(selector) var parent = jQuery(parents.get(0)) parent.addClass(className); }); elements.bind('blur', function(){ var parents = jQuery(this).parents(selector) var parent = jQuery(parents.get(0)) parent.removeClass(className); }); } ); } $('form').highlight() /**funktionsende*/ $(document).ready(function() { $('input').each(function(){ var wert = $(this).val(); $(this) .focusin(function(){ if ($(this).val() == wert) { $(this).val(""); } }) .focusout(function(){ if ($.trim($(this).val()) == "") { $(this).val(wert); } }); }); }); $('#username').blur(function () { var t = this; if (this.timer) clearTimeout(this.timer); this.timer = setTimeout(function () { $.ajax({ url: 'inc/php/check_user.php5', data: 'action=check_username&username=' + t.value, dataType: 'json', cache: false, type: 'POST', success: function (data) { $('#tooltip').tool_hide(); validateUsername.html(data.msg); if(data.ok === true){ validateUsername.slideUp('fast'); }else{ validateUsername.slideDown('fast'); } } }); }, 400); }); });
Wenn jetzt das Formular abgesendet wird, wird offensichtlch der return-wert auf false gestellt, auch wenn alle felder ausgefüllt sind.
hätte jemand eine idee?
Daniel -
Hi, also ich bin schon leicht verwundert über den code :) Du verwendest nur das Form-Plugin? Wenn ja würd ich dir empfehlen noch das "jquery.validate-1.5.1.js" zu holen. Da gibt man einfach jedem zu Validierendem Element die Klasse "required" und oder "email" dann brauchst dich net um RegEx zu kümmern oder sowas, sondern musst nur etwa folgendes schreiben:
Aber ich schau mir auch mal deinen Code an, melde mich wieder, wenn ich was finde.$(document).ready(function(){ $.validator.messages = { required:"Pflichtfeld", email: "Ungültige Email" }; $("#contact").validate({ errorPlacement: function(error, element) { error.appendTo( element.parent().children("div")); /* Wohin soll die Nachricht gespeichert werden */ } }) });
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage