Formular Elemente in Scripten verarbeiten
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
abfragen
array
attribut
benutzername
code
feld
formular
forum
funktion
funktionieren
http
inhalt
input
minute
problem
server
setzen
stimmen
url
versenden
-
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
undBenutzername: <input type="text" name="user" value="" size="8" onblur="blah();"><div id="error"></div>
isses ja kein Problem. Aber wenn noch eine <form> dazukommt, keine Ahnung, wie ich das machen soll.if(document.getElementByName('user').value=='') {document.getElementById('error').innerHTML='Der Benutzername ist nicht ausgefüllt!';}
<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
hats nicht hingehauen...document.getFormById('form').getElementByName('user').value==''
Was mach ich falsch? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
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? -
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
und im html dann halt für die jeweiligen Felder die eindeutigen ID's setzen.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üllt!'; }else if{passInput.value = ''={ errorOutput.innerHTML = 'Das Passwort ist nicht ausgefüllt!'; } }else if(passVeriInput.value != passInput.value){ errorOutput.innerHTML = 'Die Passwörter stimmen nicht überein!'; } }
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. -
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üllt!'; } else if (passInput.value == '') { msg = 'Das Passwort ist nicht ausgefüllt!'; } else if (passVeriInput.value != passInput.value) { msg = 'Die Passwörter stimmen nicht überein!'; } errorOutput.innerHTML = msg;
Grüße,
dex -
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 -
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! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage