kostenloser Webspace werbefrei: lima-city


Formular Elemente in Scripten verarbeiten

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    limabone

    Kostenloser Webspace von limabone

    limabone hat kostenlosen Webspace.

    Abend (:
    Ich hab schon ziemlich lange in Google gesucht (ca seit 22:00 mit ner kleinen Kaffeepause dazugerechnet) und bekomme einfach keine Lösung auf meine Frage. ich will aus einem <input>-Element den Inhalt auf vollständigkeit prüfen. Wie das mit einer <form> geht, weiß ich nur nicht so recht.. ):

    bei
    Benutzername: <input type="text" name="user" value="" size="8" onblur="blah();"><div id="error"></div>
    und
    if(document.getElementByName('user').value=='') {document.getElementById('error').innerHTML='Der Benutzername ist nicht ausgef&uuml;llt!';}
    isses ja kein Problem. Aber wenn noch eine <form> dazukommt, keine Ahnung, wie ich das machen soll.
    <form action="form.php" id="form">
     Benutzername: <input type="text" name="user" value="" size="8" onblur="blah();"><div id="error"></div>
    </form>

    Wie frag ich da nach dem Inhalt??? Mit
    document.getFormById('form').getElementByName('user').value==''
    hats nicht hingehauen...
    Was mach ich falsch?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 3 minuten Googlen :D

    http://www.tutorials.de/forum/javascript-tutorials/17886-formulare-mit-javascript-ueberpruefen-mit-php-versenden.html
    http://www.tutorials.de/forum/javascript-tutorials/164254-javascript-formulareingaben-pruefen-vol-2-a.html


    Stichwort : formulare auf vollständigkeit prüfen javascript
    ICh nehm mal an du wolltest es in JS machen oder?
  4. getElementByName kann afaik gar nicht funktionieren. Die "Name"-Eigenschaft ist keine eindeutige Kennung, liefert also immer ein Array zurück. D.h. du fragst am besten auch nach einem Array. Entweder also getElementsByName oder - was vielleicht sinniger wäre - du vergibst dem Input-Feld eine eindeutige ID. Auch von "getFormByID" habe ich noch nie gehört. Probiere es mit
    function checkThisOut(){
    	var nameInput = document.getElementById('inpUserName');
    	var errorOutput = document.getElementById('error');
    	var passInput = document.getElementById('inpUserPass');
    	var passVeriInput = document.getElementById('inpUserPassVeri');
    	if(nameInput.value = ''){
    		errorOutput.innerHTML = 'Der Benutzername ist nicht ausgef&uuml;llt!';
    	}else if{passInput.value = ''={
    		errorOutput.innerHTML = 'Das Passwort ist nicht ausgef&uuml;llt!';
    		}
    	}else if(passVeriInput.value != passInput.value){
    		errorOutput.innerHTML = 'Die Passwörter stimmen nicht &uuml;berein!';
    		}
    	}
    und im html dann halt für die jeweiligen Felder die eindeutigen ID's setzen.

    Nochmal zusammenfassend: getElementsByName(): kannst du theoretisch auch benutzen. Allerdings liefert dies ein Array zurück, du müsstest also getElementsByName(name)[0] verwenden. getElementById halte ich da für Sinnvoller - ID's sind zielsicherer, wenn sie richtig verwendet werden.

    PS: Der ganze Code ist natürlich ungetestet - sollte aber soweit funktionieren.
  5. In dem von nerdinator geposteten Code sind ein paar Fehler bei den Abfragen versteckt.
    Die kannst du einfach mit dem folgenden Abschnitt überschreiben:
    var msg = '';
    if (nameInput.value == '') {
        msg = 'Der Benutzername ist nicht ausgef&uuml;llt!';
    } else if (passInput.value == '') {
        msg = 'Das Passwort ist nicht ausgef&uuml;llt!';
    } else if (passVeriInput.value != passInput.value) {
        msg = 'Die Passw&ouml;rter stimmen nicht &uuml;berein!';
    }
    errorOutput.innerHTML = msg;


    Grüße,
    dex
  6. Autor dieses Themas

    limabone

    Kostenloser Webspace von limabone

    limabone hat kostenlosen Webspace.

    Uhh danke ihr habt mir viel Ärger erspart (:
    Noch eines zur Perfektion:
    wie kann ich per Javascript/AJAX abfragen, ob der Benutzername schon vorhanden ist, oder nicht und dann eine passende Meldung ausgeben??
    MfG
  7. b**r

    bist du mit AJAX vertraut?

    am besten du gibst dem input feld das attribut onkeyup mit, das dann deine funktion aufruft.

    wird nur ausgelöst, sobald der user vom key runter geht. in der funktion schickst du dann eine anfrage an den server, falls der name nicht vorhanden is, bearbeitest du zb. ein vorgefertigtes leeres div.

    ich würd dir aber empfehlen eine javascript library zu nehmen. da ersparst du dir tonnenweise code und es gibt einige nützliche funktionen. sieh dir mal jquery.com an!
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!