Autor |
Nachricht |
Fintan90
Threadersteller
Dabei seit: 04.10.2010
Ort: Stuttgart
Alter: -
Geschlecht:
|
Verfasst Fr 28.01.2011 22:37
Titel JS Anfängerproblem > Wert in Formularzeile ausgeben |
|
|
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?
|
|
|
|
|
Fintan90
Threadersteller
Dabei seit: 04.10.2010
Ort: Stuttgart
Alter: -
Geschlecht:
|
Verfasst Sa 29.01.2011 02:24
Titel
|
|
|
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
|
|
|
|
|
Anzeige
|
|
|
Kipperlenny
Dabei seit: 20.05.2010
Ort: Preetz
Alter: 38
Geschlecht:
|
Verfasst Sa 29.01.2011 14:23
Titel
|
|
|
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 Aber das ist wohl Geschmackssache.
|
|
|
|
|
bacon
Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Sa 29.01.2011 16:25
Titel
|
|
|
Dafür braucht d. Element aber auch ne id, das name-attribut ist im Gegensatz zum id-Attribut nicht eindeutig.
|
|
|
|
|
Fintan90
Threadersteller
Dabei seit: 04.10.2010
Ort: Stuttgart
Alter: -
Geschlecht:
|
Verfasst So 30.01.2011 13:27
Titel
|
|
|
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>
|
|
|
|
|
|
|
|
|
Ä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
|
|