mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: So 28.04.2024 22:29 Benutzername: Passwort: Auto-Login

Thema: [Javascript] Frage zu livevalidation vom 23.07.2009


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [Javascript] Frage zu livevalidation
Autor Nachricht
lefoff
Threadersteller

Dabei seit: 27.09.2006
Ort: KL
Alter: 39
Geschlecht: Männlich
Verfasst Do 23.07.2009 12:17
Titel

[Javascript] Frage zu livevalidation

Antworten mit Zitat Zum Seitenanfang

Sehr geehrte Javascript-Nerds,

ich als Unwissender Printler baue gerade ein Formular in HTML, das ich client-seitig mit livevalidation und serverseitig mit PHP validiere und dann per Email verschicke und in eine Datenbank übergebe.
Das Formular ansich steht soweit (HTML und CSS ist für mich kein Thema) und das Validieren mit JS klappt auch.
Ich habe mir jetzt aber eingeredet, dass ich anstatt einer Text-Fehlermeldung lieber eine Grafik als Nachricht anzeigen möchte.

Hier ist mal der Code des Scripts

Code:
var Validate = {

    /**
     *   validates that the field has been filled in
     *
     *   @var value {mixed} - value to be checked
     *   @var paramsObj {Object} - parameters for this particular validation, see below for details
     *
     *   paramsObj properties:
     *                     failureMessage {String} - the message to show when the field fails validation
     *                                         (DEFAULT: "Can't be empty!")
     */
    Presence: function(value, paramsObj){
         var paramsObj = paramsObj || {};
       var message = paramsObj.failureMessage || "Can't be empty!";
       if(value === '' || value === null || value === undefined){
            Validate.fail(message);
       }
       return true;
    }


Falls es wichtig ist hier auch mal ein entsprechender Teil des HTML-Quelltexts:
Code:
<input type="text" id="firma" class="large"/>
     <script type="text/javascript">
        var firma = new LiveValidation('firma', {onlyOnBlur: true});
         firma.add(Validate.Presence);
      </script>


So sieht es standardmäßig aus:



________________________________________________

EDIT: Hier noch die Abbildung der Meldung des Scripts oben Grins


________________________________________________

Statt der Meldung möchte ich aber lieber ein kleines Bild anzeigen. Geht das ohne weiteres? Ich habe mir schon den Weg über CSS (display:block, Hintergrundbild) überlegt, aber es gibt doch bestimmt eine relativ einfache Art, ein Bild auszugeben.

Sorry, wenn es eine blöde Frage ist, aber Javascript ist für mich noch ein Buch mit sieben Siegeln und ich habe (noch) nicht die Zeit, mich einzulesen.

Schonmal danke für eure Hilfe.

Gruß,
Flo


Zuletzt bearbeitet von lefoff am Do 23.07.2009 12:42, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Do 23.07.2009 12:25
Titel

Re: [Javascript] Frage zu livevalidation

Antworten mit Zitat Zum Seitenanfang

flo6oo hat geschrieben:

ich als Unwissender Printler baue gerade ein Formular in HTML


da wollt ich eigentlich schon aufhören zu lesen *ha ha*

irgendwo ist definiert, das thankyou ausgegeben wird. diese stelle haste nicht mitgepostet.
jedoch könntest du ganz auf billo das thankyou gegen den passenden img-tag austauschen...

nerdnerd
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
lefoff
Threadersteller

Dabei seit: 27.09.2006
Ort: KL
Alter: 39
Geschlecht: Männlich
Verfasst Do 23.07.2009 12:40
Titel

Antworten mit Zitat Zum Seitenanfang

Ja, wollte nur etwas vorbauen um die Enttäuschung bei der Frage nicht ganz so arg ausfallen zu lassen.

Ich habe die falsche Meldung abgebildet. Ich wollte eigentlich die gepostete Fehlermeldung zeigen. Der Code für die Abbildung ist folgender:
Code:
       this.validMessage = options.validMessage || 'Thankyou!';

Also im Prinzip der gleiche wie der der oben geposteten Fehlermeldung.

Das mit dem img-Tag habe ich ausprobiert, hat aber nicht funktioniert. Du meinst den normalen HTML-Tag für Bilder? (<img src="...">). Ich habe ihn einmal ohne Anführungszeichen geschrieben und einmal mit und jedesmal den Funktionsverlust des Scripts feststellen müssen. * grmbl *
  View user's profile Private Nachricht senden
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Do 23.07.2009 12:57
Titel

Antworten mit Zitat Zum Seitenanfang

flo6oo hat geschrieben:
und jedesmal den Funktionsverlust des Scripts feststellen müssen. * grmbl *


hrrr, das klingt gut... alle funktionen wech... einfach so... wech *hu hu huu*

warums mitm img-tag nicht klappt, is schlicht weg die frage, wie das script den string der validMessage verarbeitet.

versuch einmal so (von einfachen anführungszeien umschlossen):

Code:

this.validMessage = options.validMessage || '<img src="/pfad/zum/bild/bild.gif" alte="bild" />';


und falls das zum funktionsverlust führt escape den string mal...
(von ganz echten anführungszeien umschlossen):


Code:

this.validMessage = options.validMessage || "<img src=\"/pfad/zum/bild/bild.gif\" alte=\"bild\" />";
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
lefoff
Threadersteller

Dabei seit: 27.09.2006
Ort: KL
Alter: 39
Geschlecht: Männlich
Verfasst Do 23.07.2009 13:11
Titel

Antworten mit Zitat Zum Seitenanfang

Danke für deine Hilfe.
Deine Variante 1 gibt mir den HTML-Tag als Text aus, Variante 2 ist die von mir schon verwendete, die dazu führt, dass garkeine Meldung mehr kommt, weder bei korrekter Eingabe noch bei falscher.

Du denkst also, dass es etwas mit der Verarbeitung des Strings zu tun hat? Wenn du das ganze Script brauchst, es ist folgendes:
http://www.livevalidation.com/javascripts/src/1.3/livevalidation_standalone.js
  View user's profile Private Nachricht senden
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Do 23.07.2009 14:59
Titel

Antworten mit Zitat Zum Seitenanfang

Dann wirst du dir diesen Teil anpassen müssen:

Code:
    createMessageSpan: function(){
        var span = document.createElement('span');
       var textNode = document.createTextNode(this.message);
         span.appendChild(textNode);
        return span;
    },


http://de.selfhtml.org/javascript/objekte/document.htm#create_element
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen Javascript frage...
JavaScript Frage
Allgemeine Frage zu Javascript
[javascript] frage zu open_url
Frage zu Javascript in Frameset
kleine Frage zu JavaScript
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.