• hallo zusammen

    ich habe eine frage und zwar, habe ich schon viel gelesen darüber, aber für meinen fall keine entsprechende lösung oder anhaltspunkte gefunden, daß ich es selber hätt hinbekommen können.

    wie übergebe ich in ein und der selben seite eine java variable an php? :

    ich habe ein email formular, welches erst mit js geprüft wird, und dann mit php versendet wird.
    neben den formular inputs habe ich ein kleines zeichen gesetzt, das der php code vordefiniert, das anzeigen soll, daß das feld pflicht ist.
    sieht so aus:


    so weit so gut und geht ja auch, die ausgabe
    jetzt überprüft aber bei absenden erst mal ein js die gültigkeit der eingaben:


    das geht auch wunderbar.
    ich dachte mir aber, wenn im javascript eine variable so übergeben werden könnte, daß ich die echo ausgabe ändern könnte, damit dann das zeichen wenn die erste bedingung eintrifft, sich ändert.
    das habe ich mir wie folgt vorgestellt:

    alles zwischen //...// ist nur kommentar und meine gedanken dazu

    Code
    function pruefen(){
      var mail = document.email.email.value;
      if (document.email.vorname.value.length < 3) {
       //!!variable definieren;!!(zb: var f ="1")//
        alert("Sie haben noch keinen Vornamen eingegeben!");
        document.email.vorname.focus();
        return false;
     }else if(und so weiter){
    }else return true; }


    php:


    damit die ausgabe bei input von zeichen eins zu zeichen zwei ändert, was aber so nicht geht, wie es da steht.

    Kann mir jemand sagen, wie ich das hinbekomm???
    scho mal danke im vorraus :)

  • Entschuldige dass ich das als hauptberuflicher Java-Entwickler sagen muss, aber Java und Javascript sind wie oft es auch gesagt wurde, nicht das gleiche und erst recht nicht das selbe.

    Du hast in deinem ersten Codeteil immer die variable $fvn ausgegeben und nicht verschiedene.

    Das, was du haben möchtest, nennt sich Ajax, es gibt auch einen Thread der unter den obersten 5 - 8 liegen müsste dazu. (bin grad zu müde nen zweites fenster aufzumachen)

    By the way, wenn du nur nen Feld überprüfen willst , ob es leer ist, würde ich bei den php prüfungen bleiben, also

    if(empty($_POST['vorname']) || !ereg("^[A-Z]{1}[a-z]{,30}$",$_POST['vorname'])) echo "fehler";


    geh nun ins Bett, gute Nacht

    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.
    [Blockierte Grafik: http://www.snippr.de/social/img/logo.png]
    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  • hi an alle

    @K.Y.L.T(antwort und ganz unten neue Frage!)

    Zitat

    Entschuldige dass ich das als hauptberuflicher Java-Entwickler sagen muss, aber Java und Javascript sind wie oft es auch gesagt wurde, nicht das gleiche und erst recht nicht das selbe.

    das weiß ich, sorry nur schreiben tu ich immer irgendwie anders :)

    Zitat

    Du hast in deinem ersten Codeteil immer die variable $fvn ausgegeben und nicht verschiedene.

    nur schreibfehler beim eintragen threads, im script ist schon richtig


    Zitat

    Das, was du haben möchtest, nennt sich Ajax, es gibt auch einen Thread der unter den obersten 5 - 8 liegen müsste dazu. (bin grad zu müde nen zweites fenster aufzumachen)

    danke, diese antwort hat mis mehr als nur geholfen, hab mir einige seiten jetzt durchgelesen, verstehs noch net zu 100% ist doch etwas komplex fürn anfang, aber ich habe dadurch meine gesamte seite ein wenig umfunktioniert ;) - DANKE

    Jetzt hab ich noch ne frage, wenn ich bei xregexp was definieren will, kannst du mir mal ne deutsche gute seite empfehlen, wo die grundstruktur dieser eingaben erklärt wird, wie zum beispiel, daß a-z alle kleinen buchstaben sin und so.
    ich will nähmlich wissen, was ich sonst noch eingeben kann und wie ich da deklarieren kann, daß mehr als nur 4 zeichen nötig sind wie zb:
    xregexp="^[\sA-Za-z0-9äöüÄÖÜß]+$" - wie sage ich jetzt mehr als 4?

    danke im vorraus

  • Moin und frohes neues,

    Umfassender Kurs für Einsteiger: klick


    wenn du mit nur die Länge des Strings haben möchtest und der Inhalt davon egal ist, dann würde ich dir zu strlen($string); raten.

    Die funktion gibt dir die länge der Zeichenkette zurück, also angewand:

    if(strlen($string) <= 4) echo "Fehler: string zu kurz.";

    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.
    [Blockierte Grafik: http://www.snippr.de/social/img/logo.png]
    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  • danke die seite ist super, hab auch schon alles eigendlich für mich zu geschnitten und es funtz, was ich aber nicht gefunden habe, ist das mit den umlauten.
    habe schon beiträge und so gefunden, aber irgendwie das in meinem fall nicht so ganz:

    wie füge ich zum beispiel hier in folgendem beispiel umlaute ein?:

    Code
    <input name="vorname" type="text" size="34" class="ti" xregexp="^([\sA-Za-z0-9]{3,})+$" xclasserr="tifehler" xclassokay="tiok"/>

    habe es wie folgt versucht: (rest code spar ich mir :) )

    1.

    Code
    <... xregexp="^([\sA-Za-z0-9äöüÄÖÜß]{3,})+$" ...>


    2.

    Code
    <... xregexp="^([\sA-Za-z0-9\W]{3,})+$" ...>


    3.

    Code
    <... xregexp="^([\sA-Za-z0-9][äöüÄÖÜß]{3,})+$" ...>

    das einzige was geht, ist wenn ich alle nicht alphanumerische zeichen einsetze (\W), aber ich will nur üäößÜÄÖ, und ich kann ja nicht \W und alle ander zeichen ausschließen, da müsst ich ja alle zeichen angeben, geht das nicht anders?

  • Danke  :lol:

    anhand der seiten die du mir gepostet hast, ist mir das eigendlich klar, dass der befehl

    Code
    xregexp="^([\sA-Za-zäöüÄÖÜß]{3,})+$"

    so stimmen müsste, jedoch geht das net bei mir:

    ich habe einen javascript ( :lol: ), der regelt anhand der xclassokay und xclassokay, dass wenn du ins input feld schreibst der hintergrund rot ist, solange die eingabe laut xregexp nicht stimmt.

    so in dem beispiel das hier oben drüber jetzt steht, kann ich zum beispiel "otto" oder "Staphan" schreiben und nach genau drei zeichen wird der hintergrund grün.

    schreibe ich aber zum beispiel (beim nachnamen ist die zeile genauso) "müller" wird das input ab dem ü wieer rot?????????

    wieso, was mache ich da falsch


    #EDITIERT:


    ok hat sich erledigt, habe den fehler selbst herausgefunden.
    aber ist das normal, dass man bei xregexp die umlaute auch umschreiben muß?
    habe es wie folgt geschrieben, dann gings:

    xregexp="^([\sA-Za-z&uuml;&auml;&ouml;&Uuml;&Auml;&Ouml;&szelig;]{3,})+$"
    und jetzt gehts

  • Falls das dein Originalcode ist:
    Das Entitie für "ß" heißt &szlig; und nicht wie bei dir &szelig;
    Sicher nur ein kleiner Fehler, doch eventuell könnte er ja mal zu Schwierigkeiten führen.

    Sometimes you have a programming problem and it seems like the best solution is to use regular expressions; now you have two problems.