Du wandelst den String in eine Integer um und zählst eins dazu. Dann schreibst du den neuen Wert wieder rein.![]()
Hi,
ich habe ein Formularfeld, welches mit Zahlen gefüllt werden soll. Standard-
mäßig ist 0 als Wert vordefiniert. Daneben will ich nun 2 Buttons anbringen,
damit man darüber jeweils eins dazu addieren kann oder wieder abziehen.
Mit:
kann ich schon mal eine 1 reinschreibenCode:function dazu() { document.nummern.test.value = "1"; }aber jetzt fehlt noch sowas wie,
wenn die Zahl 1 vorhanden, dann zähle 1 dazu und schreibe 2, wenn 2 vor-
handen... usw. usf (und natürlich vice versa für die Subtraktion).
Hat da jemand ne Idee, wie man das bewerkstelligt?
Vielen Dank!
Elli
Es gibt keinen Fortschritt ohne den Glauben an die Zukunft.
[JFK]
Du wandelst den String in eine Integer um und zählst eins dazu. Dann schreibst du den neuen Wert wieder rein.![]()
Z.B. so:
PHP-Code:<html>
<head>
<title>Test</title>
<script type="text/javascript">
function Add() {
document.getElementById("feld").value = Number(document.getElementById("feld").value) + 1;
}
function Sub() {
document.getElementById("feld").value = Number(document.getElementById("feld").value) - 1;
}
</script>
</head>
<body>
<input type="text" name="feld" value="0"><p>
<input type="button" value="-" onclick="Sub()">
<input type="button" value="+" onclick="Add()">
</body>
</html>
+lg Nightline
-------------------------
Fotoportfolio: http://www.coeser.de/showcase/
Städte-Fotos aus aller Welt: http://www.coeser.de/impressions/
DeviantArt-Account: http://nightline.deviantart.com
Vielen Dank Nightline, eleganter Weg
Einzig, bei dem Input-Feld musste noch id="feld" hinzu, damit es funktioniert.
Es gibt keinen Fortschritt ohne den Glauben an die Zukunft.
[JFK]
Kleiner Nachtrag: Das folgende wäre auch möglich:
TschauPHP-Code:<html>
<head>
<title>Test</title>
<script type="text/javascript">
function Add() {
++document.myForm.myField.value;
}
function Sub() {
--document.myForm.myField.value;
}
</script>
</head>
<body>
<form name="myForm">
<input type="text" name="myField" value="0"><p>
<input type="button" value="-" onclick="Sub()">
<input type="button" value="+" onclick="Add()">
</form>
</body>
</html>
Frank
Eine kosmetische Frage habe ich noch:
Wie muss ich es denn schreiben > if value==0 dann soll ein subtrahieren
nicht mehr möglich sein? Habe nun Frank's Variante im Einsatz...
Da fällt mir noch ein, wie funktioniert es, wenn ich nun mehrere dieser
Felder auf einer Seite habe, hier müsste es ja noch eine Möglichkeit geben,
dass man diese Ansprechen kann, ohne dass man für jedes Feld die Funktion
nochmals wiederholt?!
Geändert von Elli (07.09.2006 um 15:54 Uhr)
Es gibt keinen Fortschritt ohne den Glauben an die Zukunft.
[JFK]
Meinst Du so etwas?
tschauPHP-Code:<html>
<head>
<title>Test</title>
<script type="text/javascript">
function add( fieldName )
{
++document.myForm.elements[ fieldName ].value;
};
function sub( fieldName )
{
if ( document.myForm.elements[ fieldName ].value == "0" )
return true;
--document.myForm.elements[ fieldName ].value;
};
</script>
</head>
<body>
<form name="myForm">
<input type="text" name="myField1" value="0">
<input type="button" value="-" onclick="sub('myField1')">
<input type="button" value="+" onclick="add('myField1')">
<br>
<input type="text" name="myField2" value="0">
<input type="button" value="-" onclick="sub('myField2')">
<input type="button" value="+" onclick="add('myField2')">
<br><br>
( Opera 9: Web Forms 2.0 ) input type="number": <input type="number" value="0" name="myOperaNumber" min="0" step="1">
</form>
</body>
</html>
Frank
Geändert von Malleus (08.09.2006 um 23:41 Uhr)
Wollte es gerade mal testen, aber leider will es noch nicht so ganz![]()
Hier kommt die Meldung: document.myForm.elements is not a function![]()
Es gibt keinen Fortschritt ohne den Glauben an die Zukunft.
[JFK]
Du brauchst für mein Beispiel ein "FORM"-Tag mit dem Namen "myForm". Ich nehme mal an, daß Dein "Formular" keinen Namen bzw. einen anderen hat, oder?
Hier ist mein Beispiel online.
Mhhhmm, seltsam, habe dein Online-Beispiel getest und auch hier habe ich mit
dem Firefox dasselbe Problem, komisch. Mit dem IE6 gehts einwandfrei.
Habe es gerade noch bei einem Kumpel ebenfalls im FF testen lassen mit
demselben Resultat. Irgenwas stört in da...
Es gibt keinen Fortschritt ohne den Glauben an die Zukunft.
[JFK]
Sorry, mein Fehler: elements hat keine runden Klammern, sondern eckige. MSIE und Opera werten die anscheinend auch aus.
Beispiel ist upgedatet.
Tschau
Frank
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)