Formular auslesen mit JS

Huhu,

ich möchte gerne einen Radiobutton auslesen und wenn dieser auf JA ist, dann soll ein weiteres Textfeld erscheinen ohne die Seite neuzuladen.

Ich weiß schon mal, dass man ein Radiobutton mit beispielsweise

auslesen kann.

HTML:

[code]

<? echo $msg?>
JPG/JPEG/GIF, maximal 5MB



Möchtest du Dein Bild bearbeitet haben?
Ja Nein

[/code]

Wäre toll, wenn ihr mir dabei helfen könnt :slight_smile:

Grüße

[quote]Ich weiß schon mal, dass man ein Radiobutton mit beispielsweise

auslesen kann. [/quote]
Toll!
Und wieso machst du es dann nicht so?
Wenn du uns nur sagst, was du schon weisst, können wir dir leider nichts beibringen, es sei denn, dass du nur das weiss, was du uns sagst, dass du weisst…

Naja ich hab doch gesagt, dass wenn ich den Radiobutton auf JA gesetzt habe, ein Textfeld dadrunter erscheinen soll und bei NEIN soll nichts passieren.

Und ich weiß halt nur, wie man das ausliest und nicht wie man das macht, damit das Feld angezeigt wird.

Grüße

Hi

if(document.forms[0].elements[2].checked){ //ja }else{ //nein }
:wink:

^^ ok ich hab mich doof ausgedrückt sorry :frowning:

Also…ich möchte wissen, wie ich das mache dass das feld eingeblendet wird also mit welchen befehl^^ wie das ausgelesen wird weiß ich ja ^^

[code]

<? echo $msg?>
JPG/JPEG/GIF, maximal 5MB



Möchtest du Dein Bild bearbeitet haben?
Ja Nein

[/code]

[code]
function check(){
feld = document.getElementById(‘feld’);
if(feld.innerHTML == “”){
if(document.forms[0].elements[2].checked){
feld.innerHTML = “”;
return false;
}else{
feld.innerHTML = “”;
return false;
}
}

}[/code]

denke sollte so klappen :wink:

huhu :smiley:

danke für die rasche antwort :slight_smile:

Kann man das auch via CSS realisieren?
Also, dass das Textfeld erst auf display:none ist?

grüße

klar !
Dann musst aber die prüfung anders machen.
code für die umschaltung von display:none; auf angezeigt und anders hreum:

feld = document.getElementById('feld'); //anzeigen feld.style.display = ""; //ausblenden feld.style.display = "none";
:wink:

huhu

das is mein code bis jetzt…

[code]

<? echo $msg?>
JPG/JPEG/GIF, maximal 5MB



Möchtest du Dein Bild bearbeitet haben?
Ja Nein

[/code]

funktionieren tut es nicht^^ aber warum ist die große frage

Du brauchst noch n event handler wann die funktion ausgelöst wird.
Diese Funktion wird jetzt am Anfang 1 mal ausgeführt und dann nicht mehr.
Also tät ichs folgendermaßen machen:

[code]

<? echo $msg?>
JPG/JPEG/GIF, maximal 5MB


  <input type="hidden" name="MAX_FILE_SIZE" value="<?=$max_size?>" /><br />
 M&ouml;chtest du Dein Bild bearbeitet haben?<br />
     <input onchange="check()" type="radio" name="bearbeiten" value="Ja"> Ja </input>
<input type="radio" onchange="check()" name="bearbeiten" value="Nein"> Nein</input><br />


  <input type="submit" name="sent" value="Senden" />
  <input type="Reset" value="Zur&uuml;cksetzen" />
[/code]

EDIT:Fehler gefunden: Du hast bei user_eingabe keine Id sondern einen Namen user_eingabe angegeben .
Wir suchen aber nach id ! :wink:

klappt leider nicht.
Das Feld wird immer angezeigt :confused:

hab Fehler gefunden !

[code]

<? echo $msg?>
JPG/JPEG/GIF, maximal 5MB


  <input type="hidden" name="MAX_FILE_SIZE" value="<?=$max_size?>" /><br />
 M&ouml;chtest du Dein Bild bearbeitet haben?<br />
     <input onchange="check()" type="radio" name="bearbeiten" value="Ja"> Ja </input>
<input type="radio" onchange="check()" name="bearbeiten" value="Nein"> Nein</input><br />


  <input type="submit" name="sent" value="Senden" />
  <input type="Reset" value="Zur&uuml;cksetzen" />
[/code]

:wink:

EDIT: siehe meinen letzten Beitrag ! :wink:

huhu,

es geht :smiley:

sag mal noch eine Frage, was ich nicht verstehe

In der Zeile

Da steht ja feld
Darf ich mir den Namen aussuchen oder warum steht das da?

Grüße und ganz ganz lieben dank :smiley:

feld ist ein Variable !
Du kannst dir den Namen aussuchen, aber keine reservierten Wörter von Javascript.
Die Variable wird hier definiert:

Ich mach das einfach um tipparbeit zu sparen. :wink:
Weil ich will nicht jedes mal document.getElementById('user_eingabe'); schreiben will! :wink:

Huhu,

und warum steht bei

form ?

das hab ich auch noch nicht ganz kapiert^^

grüße

Eigentlich sollte das heißen:

Aber damit document.form rufst du einfach das objekt direkt mit dem Namen also form auf.
Das Problem dabei ist, dass es dann verwechslung mit variablen geben kann. :wink:

document.form is eine referenz auf alle Formulare in deinem HTML Code, das funktioniert aber nur mit Form Elementen, also document.input würde nicht klappen :wink:
http://de.selfhtml.org/javascript/objekte/htmlelemente.htm#allgemeines

ich glaube der fehler ist folgender:

//anzeigen
feld.style.display = "";

du musst einen Wert eingeben:

//anzeigen
feld.style.display = "block";

bei Fragen zu HTML und Javascript, kannst du einfach den suchbegriff (zb document.form)
bei SelfHTML suchen und da erste Infos mit schönen Beispielen finden.
http://de.selfhtml.org/

Das könnte dir helfen!!
http://de.selfhtml.org/javascript/objekte/forms.htm

ah ok bis zum document.forms hab ich alles geschnallt^^

wo liegt der unterschied zwischen document.forms und document.input?

Das frag ich mich grad^^
grüße und dickes fettes danke :smiley:

Der Unterschied: Ersteres gibt’s, letzteres nicht.

document.forms ermöglicht Zugriff auf die Formulare in einem Dokument.
Unterhalb eines solchen Formularelement-Objektes liegt dann wiederum elements, welches Zugriff auf die einzelnen Elemente dieses Formulars ermöglicht, also bspw.

  • würde das dritte Element des ersten Formulars im Dokument ansprechen.

Mehr zum Thema gibt’s hier:
de.selfhtml.org/javascript/objekte/forms.htm
de.selfhtml.org/javascript/objekte/elements.htm

[quote=“unive”]document.form is eine referenz auf alle Formulare in deinem HTML Code, das funktioniert aber nur mit Form Elementen, also document.input würde nicht klappen :wink:
http://de.selfhtml.org/javascript/objekte/htmlelemente.htm#allgemeines

ich glaube der fehler ist folgender:

//anzeigen
feld.style.display = "";

du musst einen Wert eingeben:

//anzeigen
feld.style.display = "block";

[/quote]

feld.style.display = “”;
bewirkt, dass das attribut entfernt wird.
Mit display = “block”;
erzwingst du nur, dass block ausrichtung kommt und es dargestellt wird.
Aber feld.style.display = “”; geht auch ! :wink:
So habs ich zumindest gerlernt ! :slight_smile: