mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 28.03.2024 17:24 Benutzername: Passwort: Auto-Login

Thema: JS Anfängerproblem > Wert in Formularzeile ausgeben vom 28.01.2011


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> JS Anfängerproblem > Wert in Formularzeile ausgeben
Autor Nachricht
Fintan90
Threadersteller

Dabei seit: 04.10.2010
Ort: Stuttgart
Alter: -
Geschlecht: Männlich
Verfasst Fr 28.01.2011 22:37
Titel

JS Anfängerproblem > Wert in Formularzeile ausgeben

Antworten mit Zitat Zum Seitenanfang

Also;
Ziel ist ein extrem primitives "Spiel", für mich halt eine Übung im JS, bei dem den Nutzer eine zufällige Zahl erraten soll.
Etwa in dem Sinne:

Zitat:

<body>

function rechner(){

var x= 1+(Math.floor(Math.random()*6));
var ez= document.rechner.ez.value;

document.write( (x==ez) ? "Richtig geraten!":"Leider falsch!");

}

<form name="rechner">
<input type="text" name="ez" />
<input type="button" onlick="rechner()" value="Dice!"/>
<input type="text" name="erg" />
</form>

</body>


Meine Frage ist jetzt, wie ich die [document.write( (x==ez) ? "Richtig geraten!":"Leider falsch!");] Zeile so umformuliere, dass das x noch auf der gleichen Seite ausgegeben wird, vorzugsweise in dem "erg" Feld des Formulars.

Ideen?
  View user's profile Private Nachricht senden
Fintan90
Threadersteller

Dabei seit: 04.10.2010
Ort: Stuttgart
Alter: -
Geschlecht: Männlich
Verfasst Sa 29.01.2011 02:24
Titel

Antworten mit Zitat Zum Seitenanfang

Problemupdate;

folgendermaßen sieht der aktuelle Stand aus:


Zitat:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<script language="javascript">
var x;
var y;
var z;

function zr(){
y = document.rechner.y.value;
x = 1 + (Math.floor(Math.random()*6));

if (x==y){
z=true;
}
else {
z=false;
}

}


</script>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js genewbe</title>
</head>

<body>

<form name="rechner">
<input type="text" name="y" />
<input type="text" name="x" readonly="readonly"/>
<input type="button" onclick="zr(); document.rechner.x.value = x; document.rechner.erg.value = z; " value="Dice!" />
<input type="text" value="" name="erg" />
</form>

</body>
</html>


Der Button Dice! löst also aktuell die Funktion zr() aus und ordnet den x-Wert (den erzeugten Zufallswert) und den z-wert (ob man die richtige Zahl erraten hat oder nicht) den entsprechenden Feldern zu.
Das Problem ist jetzt - als Ergebnis fürs Würfeln erhalte ich im Feld des X-Wertes: [object HTMLInputElement].

Da die Syntax genau die gleiche ist wie für den Z-Wert, der tadellos abgerufen werden kann, tappe ich im Dunkeln. Ein Tipp in die richtige Richtung wäre prima.


Zuletzt bearbeitet von Fintan90 am Sa 29.01.2011 02:25, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Anzeige
Anzeige
Kipperlenny

Dabei seit: 20.05.2010
Ort: Preetz
Alter: 38
Geschlecht: Männlich
Verfasst Sa 29.01.2011 14:23
Titel

Antworten mit Zitat Zum Seitenanfang

Habe deine Seite jetzt nicht getestet, aber folgende Tipps:

- Keine Doppelbenennung (Dein Feld heißt "x" die Variable heißt auch "x" z.B.)
- Sprich die Felder über document.getElementById('erg').value an, finde ich einfacher und eindeutiger Lächel Aber das ist wohl Geschmackssache.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Sa 29.01.2011 16:25
Titel

Antworten mit Zitat Zum Seitenanfang

Dafür braucht d. Element aber auch ne id, das name-attribut ist im Gegensatz zum id-Attribut nicht eindeutig.
  View user's profile Private Nachricht senden
Fintan90
Threadersteller

Dabei seit: 04.10.2010
Ort: Stuttgart
Alter: -
Geschlecht: Männlich
Verfasst So 30.01.2011 13:27
Titel

Antworten mit Zitat Zum Seitenanfang

Alles klar, funktioniert. Vielen vielen dank.
Das Lehrbuch mit dem ich mir zurzeit Javascript beibringe verwendet für den Zugriff auf Elemente die Variante die in meinem oberen Post steht, ansprechen über name und der kompletten Hierarchie (document.formularname.elementname.value).

Die Variante mit getElementById scheint mir deutlich praktischer, dabei werde ich bis auf weiteres bleiben. Für den Fall dass sich jemand mit einem ähnlichen Problem per Google mal in diesen Thread verirrt, hier nochmal das funktionsfähige Script:

Zitat:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<script language="javascript">
var x;
var y;
var z;

function zr(){
y = document.getElementById('erraten').value;
x = 1 + (Math.floor(Math.random()*6));

if (x==y){
z=true;
}
else {
z=false;
}

}
</script>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js genewbe</title>
</head>

<body>

<form name="rechner">
<input type="text" id="erraten" />
<input type="button" onclick="zr(); document.getElementById('erg').value = z; document.getElementById('gewuerfelt').value = x;" value="Dice!" />
<input type="text" value="" id="erg" />
<input type="text" value="" id="gewuerfelt" />
</form>

</body>
</html>
  View user's profile Private Nachricht senden
 
Ähnliche Themen Hilfe bei einem Anfängerproblem
javascript - onclick- IE/Opera - Anfängerproblem...
RGB-Wert für HKS 76
RGB - Wert für CMYK
php checkbox-wert
[PHP] Whitespace mit ausgeben
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.