Brauche Hilfe bei einem Script
Bl8ckJ8ck
- javascript
0 Antipitch0 ritschmanhard0 EKKi0 Hans Wurst
Ich habe mal versucht einen Generator zu Progrmmieren in dem die Eingabe -a- mit der Eingabe -b- multipliziert, und die Eingabe -a- mit Eingabe -c- multipliziert wird, und im Feld -Ergebnis- sollten dann die Ergebnisse aus -a*b (d)- und -a*c (e)- stehen.
(dieser Generator soll bei einem Spiel helfen, bei dem man Waffen mit verschiedenem ang. und def. haben kann und man leichter ausrechnen kann wieviele Waffen man für einen bestimmten angriffswert /verteidigungs wert haben muss.)
Leider funktioniert es nicht ganz. Kann mir bitte jemand helfen?
<form method="post" action="#">
<table height="357" width="450">
<tbody>
<tr>
<td>anzahl:</td>
<td><input type="text" name="a" /></td>
</tr>
<tr>
<td>ang.:</td>
<td><input type="text" name="b" /></td>
</tr>
<tr>
<td>ver.:</td>
<td><input type="text" name="c" /></td>
</tr>
<tr>
<td colspan="3"> <br />
<div align="center"><input type="button" value="generieren" onclick="javascript:generieren(this.form);" /></div>
</td>
</tr>
<tr>
<td colspan="2"><br />
<div align="center"><textarea rows="10" cols="40" readonly="" name="Ergebnis"></textarea></div>
</td>
<script type="text/javascript">
function ausrechnen (a,b,c)
{
var d = (form.a.value * form.b.value );
var e = (form.a.value * form.c.value );
}
function generieren(form)
{
if (confirm("Klicke auf ok!!!"))
{
form.Ergebnis.value =
'<!--- Präsentiert von Bl8ckJ8ck --->'
Hi Bl8ckJ8ck,
onclick="javascript:generieren(this.form);" />
1. "this" in event handlern bezieht sich immer auf das besitzende HTML Element (http://www.quirksmode.org/js/this.html).
2. Was glaubtest du denn mit "form" zu übergeben?
3. Diese Funktion
function ausrechnen (a,b,c)
{
var d = (form.a.value * form.b.value );
var e = (form.a.value * form.c.value );
}
wird niemals ausgeführt.
Sollte schon mal weiterhelfen...
cheers
Antipitch
1. Ich vor einem Halben jahr mal gut Js progrmaiert, aber ich habe es etwas verlernt, und ich hatte gehoft da sich so ein scripts noch schaffe....
2. englisch verstehe ich niocht so gut deshalb ist da smir nicht eine hilfe ;(
könntest du nicht versuchedn den fehler haften teil zu verbessern?
Mahlzeit Bl8ckJ8ck,
- Ich vor einem Halben jahr mal gut Js progrmaiert,
Das wage ich doch zu bezweifeln ...
- englisch verstehe ich niocht so gut deshalb ist da smir nicht eine hilfe ;(
Dann <http://de.selfhtml.org/javascript/sprache/objekte.htm#this@title=informiere Dich doch bei SELFHTML> über das betreffende Objekt.
könntest du nicht versuchedn den fehler haften teil zu verbessern?
Das wird schwierig - dann müsste Antipitch nämlich Deinen Code komplett überarbeiten. Und das wäre doch ein bisschen viel verlangt, oder? ... Zumal Du hier bei "SELF"HTML bist.
MfG,
EKKi
Das wird schwierig - dann müsste Antipitch nämlich Deinen Code komplett überarbeiten. Und das wäre doch ein bisschen viel verlangt, oder? ... Zumal Du hier bei "SELF"HTML bist.
Das brauche ich dann ja nicht mehr zu beantworten ;)
Das selfhtml Beispiel ist allerdings insofern etwas irreführend als ja kein Wert übergeben, sondern die Funktion direkt ausgeführt wird und this sich dann doch auf das Fenster bezieht. Insofern ist der Quirksmode Artikel ganz nützlich...
@Bl8ckJ8ck
"this" in Funktionen -auch in alert(this)- bezieht sich normalerweise auf's Fenster-Objekt. "this" in inline event handlern bezieht sich dagegen auf das besitzende HTML Element. In deinem Fall also input, das beinhaltet aber (zum Glück ;-) kein Formular.
Arbeite z.B. mit nur einer Funktion, deklariere bzw. belege deine Variablen an deren Anfang und ruf sie ohne Wertübergabe auf. Außerdem brauchen deine Text-Inputs name-Attribute. Wenn dann was nicht klappt, halte dich bitte an EKKis Hinweise zur Fragestellung/ Problembeschreibung...
cheers
Antipitch
Nur so als Zusatzhinweise:
' Units die einen angriff von '
einen Angriff von (oder "eine Offensive von")
' und eine deffensieve von '
eine Defensive von (oder "eine Verteidigung von")
confirm("Klicke auf ok!!!")
Wozu der confirm-Aufruf?
<a href=""> --> Eingabe Löschen <-- </a> </br>
Zeichen > und < sind in html als > und < zu maskieren.
-> Powered by Bl8ckJ8ck <-
Dadurch wird das Dokument invalid - was soll ->bla<- für eine html Konstruktion darstellen?
Richard
Nur so als Zusatzhinweise:
' Units die einen angriff von '
einen Angriff von (oder "eine Offensive von")
Ist so gewollt ;)
' und eine deffensieve von '
eine Defensive von (oder "eine Verteidigung von")
Das au :D
confirm("Klicke auf ok!!!")
Wozu der confirm-Aufruf?
Es is gleichzeitig ein altest testskript von mir, als ich conifirm geübt hab. Ich netferne es später noch.
<a href=""> --> Eingabe Löschen <-- </a> </br>
Zeichen > und < sind in html als > und < zu maskieren.
Das stimt aber ich habe nen Generator auf meiner Hp der alle < > ä ö ü usw. in html übersetz, auch das hätte ich noch gemacht.
-> Powered by Bl8ckJ8ck <-
Dadurch wird das Dokument invalid - was soll ->bla<- für eine html Konstruktion darstellen?
Naja wenn du das so meinst dann ändere ich das, das war nur als 'Verzierung' gedacht
Richard
Naja danke trotzdem
Mahlzeit Bl8ckJ8ck,
' Units die einen angriff von '
einen Angriff von (oder "eine Offensive von")
Ist so gewollt ;)
' und eine deffensieve von '
eine Defensive von (oder "eine Verteidigung von")
Das au :D
Es ist also gewollt, dass Deine Meldungen nur so vor Rechtschreib- und Grammatikfehlern strotzen? Interessant.
MfG,
EKKi
Mahlzeit Bl8ckJ8ck,
Leider funktioniert es nicht ganz.
"Funktioniert nicht" funktioniert nicht. Was genau reagiert anders als Du es erwartest? Was genau erwartest Du? Welche konkreten Fehlermeldungen meldet Deine Javascript-Fehlerkonsole?
Kann mir bitte jemand helfen?
Ja. Du Dir selbst - indem Du zuerst einmal Dein Problem vernünftig beschreibst und dann eine brauchbare Fehlermeldung lieferst.
MfG,
EKKi
Hier haste eine valide und funktionierende Version deiner Idee:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Weapons 2.0</title>
[code lang=javascript]<script type="text/javascript">
function ausrechnen() {
var d = (document.getElementById("anz").value * document.getElementById("ang").value);
var e = (document.getElementById("anz").value * document.getElementById("ver").value);
document.getElementById("erg").value = "<!--- Bl8ckJ8ck --->\n\n"+ document.getElementById("anz").value +" Units die einen Angriff von "+ document.getElementById("ang").value +" und eine Deffensieve von "+ document.getElementById("ver").value +" haben insgesamt einen Angriff von "+ d +" und eine Verteidigung von "+ e;
}
</script>
~~~css
<style type="text/css">
table { width:200px; border:0px none; }
#label { width:50px; }
#eingabe { width:145px; }
#calc { width:189px; }
#erg { width:185px; }
</style>
</head>
<body>
<table>
<tbody>
<tr>
<td class="label">Anz.:</td>
<td class="eingabe"><input type="text" id="anz" value="" /></td>
</tr>
<tr>
<td class="label">Ang.:</td>
<td class="eingabe"><input type="text" id="ang" value="" /></td>
</tr>
<tr>
<td class="label">Ver.:</td>
<td class="eingabe"><input type="text" id="ver" value="" /></td>
</tr>
<tr><td colspan="2"><input type="button" value="Berechnen" id="calc" onclick="ausrechnen();" /></td></tr>
<tr><td colspan="2"><textarea rows="8" id="erg" value="" readonly="readonly"></textarea></td></tr>
</tbody>
</table>
</body>
</html>
[/code]
Vielen Dank, zu allen anderen Narichten, ich hab auf selfhtml schon lange durchsucht und meine java konsole zeigt keine fehler an!!!!
Danke nochmal aber bitte wenn ihr findet die rechtschreibung muss überarbeitet werden, ja das hatte ich au noch vor mir ging es allein um das script !!!