Hasi Geschrieben 29. Juli 2002 Geschrieben 29. Juli 2002 Okay ich versuche gerade irgendwie in HTML (oder PHP falls es in HTML nicht lösbar ist) ein erhöhbares editfield mit reinen Integer zahlen zu erstellen..... also ich stelle mir rechts neben meinem Edit 2 kleine pfeilchen vor,(eins nach oben eins nach unten) mit dem ich mein Feld je um eins erhöhen kann bzw verringern.. ich find einfach nicht wie es geht.. hoffentlich hab ich mich einigermassen verständlich ausgedrückt.... Zitieren
etreu Geschrieben 29. Juli 2002 Geschrieben 29. Juli 2002 <?php echo "<textarea rows=$rows cols=$cols>"; ... echo "<a href=\"name?rows=$rows\">bla</a>"; ?> [/PHP] Zitieren
DanielH Geschrieben 29. Juli 2002 Geschrieben 29. Juli 2002 Das geht auch mit Javascript: window.document.formname.feldname.style.height = '500px'; zum Beispiel. MfG Zitieren
Impulz Geschrieben 29. Juli 2002 Geschrieben 29. Juli 2002 Aeh, ich glaube er meint was ganz anderes. Und war so nen Eingabefeld mit rechts Pfeilen um den Wert zu aendern, wie es beispielsweise bei Windows (XP?) zum Einstellung der Uhrzeit der Fall ist. Meines Wissens nach bietet HTML dafuer aber kein entsprechendes Formularelement. PHP hilft hier erst recht nichts, da es nix mit der Darstellung von Webseiten beim Client zu tun hat. Bleibt noch Java oder man nimmt ein oder zwei Bilder und bei nem onClick wird der Wert in der Textbox mit JavaScript erhoeht. Nicht schoen, aber selten Michael Zitieren
DanielH Geschrieben 29. Juli 2002 Geschrieben 29. Juli 2002 Original geschrieben von Impulz Aeh, ich glaube er meint was ganz anderes. Und war so nen Eingabefeld mit rechts Pfeilen um den Wert zu aendern, wie es beispielsweise bei Windows (XP?) zum Einstellung der Uhrzeit der Fall ist. Meines Wissens nach bietet HTML dafuer aber kein entsprechendes Formularelement. PHP hilft hier erst recht nichts, da es nix mit der Darstellung von Webseiten beim Client zu tun hat. Bleibt noch Java oder man nimmt ein oder zwei Bilder und bei nem onClick wird der Wert in der Textbox mit JavaScript erhoeht. Nicht schoen, aber selten Michael Unter dem Gesichtspunkt: window.document.formname.feldname.value++ bzw. window.document.formname.feldname.value-- bei onclick rein. Aber eine textbox mit Variabler größe hat auch was für sich MfG Zitieren
Hasi Geschrieben 2. August 2002 Autor Geschrieben 2. August 2002 Original geschrieben von Impulz Und war so nen Eingabefeld mit rechts Pfeilen um den Wert zu aendern, wie es beispielsweise bei Windows (XP?) zum Einstellung der Uhrzeit der Fall ist. Er ist ne Sie aber sonst goldrichtig Original geschrieben von Impulz Bleibt noch Java oder man nimmt ein oder zwei Bilder und bei nem onClick wird der Wert in der Textbox mit JavaScript erhoeht. Nicht schoen, aber selten window.document.formname.feldname.value++ bzw. window.document.formname.feldname.value-- bei onclick rein. okay... jetzt weiss ich wie es in Javascript geht... bringt mich nur leider nicht weiter, weil ich dann erst mal Javascript lernen muss um zu wissen wie ich das einbaue... Trotzdem Danke Zitieren
Hasi Geschrieben 2. August 2002 Autor Geschrieben 2. August 2002 Hallo da bin ich schon wieder.. Da ich es geschafft habe das JS einzubauen.. funktioniert soweit auch wunderbar... nur wenn ich das ganze um mehr als 1 erhöhen möchte.. .geht nicht mehr... also den Code hab ich jetzt : <form name = "Test" action ="input_test.html"> <p> Vorname : <br> <input name = "vorname" type = "text" size = "30" > <input type = "button" name = "plus10" value ="+10" onClick="document.Test.vorname.value = document.Test.vorname.value + 10" > <input type = "button" name = "plus" value ="+" onClick="document.Test.vorname.value++" > <input type = "button" name = "minus" value ="-" onClick="document.Test.vorname.value--" > </p> <p> Nachname : <br> <input name = "nachname" type = "text" size = "30" ></p> </form> ich habs schon mit ToInteger versucht (kenn ich von Java) und mit dem += aber anstatt mir die zahl 13 zu erhöhen auf 23 schreibt er imm 1310 Help, I need somebody Help, is there anybody Heeeeelllllpppppppp Zitieren
DanielH Geschrieben 2. August 2002 Geschrieben 2. August 2002 Na da kannst du dann eine Funktion einbauen, um das um 10 zu erhöhen. <script> function plus10(){ var a; a = window.document.Test.vorname.value; a = a + 10; window.document.Test.vorname.value = a; } </script> Und dei OnClick kommt jetzt "plus10()" rein. MfG:) Zitieren
Bitschubser Geschrieben 2. August 2002 Geschrieben 2. August 2002 Original geschrieben von Hasi <input type = "button" name = "plus" value ="+" onClick="document.Test.vorname.value++" > Das kann nicht gehen, da document.Test.vorname.value immer ein String ist, auch wenn man Zahlen reinschiebt. Die Lösung: document.Test.vorname.value = (parseInt(document.Test.vorname.value, 10)++) Grüße Matze Zitieren
Hasi Geschrieben 5. August 2002 Autor Geschrieben 5. August 2002 Original geschrieben von Bitschubser Das kann nicht gehen, da document.Test.vorname.value immer ein String ist, auch wenn man Zahlen reinschiebt. Die Lösung: document.Test.vorname.value = (parseInt(document.Test.vorname.value, 10)++) doch das um eins zu erhöhen funktioniert ganz normal... aber um 10 krieg ich es nicht erhöht.. die funktion mag er nicht und parseInt funktioniert auch nicht... doof.... Zitieren
Bitschubser Geschrieben 5. August 2002 Geschrieben 5. August 2002 Original geschrieben von Hasi doch das um eins zu erhöhen funktioniert ganz normal... aber um 10 krieg ich es nicht erhöht.. die funktion mag er nicht und parseInt funktioniert auch nicht... parseint funktioniert nicht, wenn kein konvertierbarer Wert eingegeben wird: var y = "a1"; var x = parseInt( y, 10 ); ergibt NaN (Not-a-Number), welchen du mit isNaN() abfangen kannst. if ( isNaN(x) ) { // fehler } else { // aktion.. } So. Dein Problem mit den +10 sollte sich so lösen: document.form[x].element[y].value = (parseInt(document.form[x].element[y].value ,10) +10); Dabei wird natürlich nicht NaN abgefangen. Da benutzer aber NaN-Werte eintragen können, solltest du das ganze in eine function auslagern und dort den prozess durchführen. Wenn das nicht geht, musst du nach anderen Fehlerursachen suchen. Ich empfehle Dir, Mozilla zu verwenden und dort die Javascript-konsole zu aktivieren. Grüße Matze Zitieren
Klotzkopp Geschrieben 5. August 2002 Geschrieben 5. August 2002 parseInt liefert wahrscheinlich keinen lvalue (wozu auch). Aber das sollte gehen: document.Test.vorname.value = (parseInt(document.Test.vorname.value, 10) + 10) Zitieren
Bitschubser Geschrieben 5. August 2002 Geschrieben 5. August 2002 Original geschrieben von Hasi doch das um eins zu erhöhen funktioniert ganz normal... Das ist reine Gutmütigkeit der Browser. Auf sowas darf man sich nicht verlassen. Nur, weil es funktioniert, heißt das nicht, dass es auch richtig ist. Grüße Matze Zitieren
Hasi Geschrieben 5. August 2002 Autor Geschrieben 5. August 2002 @klotzkopp: danke so funktioniert @Bitschubser : dann werd ich bei erhöhen um eins auch so rechnen jetzt noch ne letzte Frage, welche Funktion hat die 10 in der parseInt Klammer? für weitere dumme fragen mach ich nen neuen Thread auf Zitieren
Bitschubser Geschrieben 5. August 2002 Geschrieben 5. August 2002 Original geschrieben von Klotzkopp parseInt liefert wahrscheinlich keinen lvalue (wozu auch). Aber das sollte gehen: document.Test.vorname.value = (parseInt(document.Test.vorname.value, 10) + 10) Ivalue=integer? Im Zweifelsfall wird der Code folgendes ausgeben: "isNaN10" Naja-das Problem wird wohl bald eliminiert sein, oder? Gruß:Matze function inkrementiere( objElement, intWert) { var intNeu = 0; var intAlt = parseInt( objElement.value, 10 ); if ( ! isNaN( intAlt ) ) { intNeu = intAlt + intWert; } objElement.value = intNeu; } [...] input type="button" value="+10" onClick="inkrementiere( document.Test.Vorname, 10);" Zitieren
Klotzkopp Geschrieben 5. August 2002 Geschrieben 5. August 2002 Original geschrieben von Hasi welche Funktion hat die 10 in der parseInt Klammer? Der zweite Parameter von parseInt gibt die Basis des Zahlensystems an, von dem die Funktion ausgeht. Wenn Du z.B. Hexadezimalzahlen parsen willst, muss da 16 rein. Wenn man da nichts angibt (der Parameter ist optional), geht parseInt bei Werten, die mit "0x" beginnen, von Hex aus, bei Werten mit "0" von oktal, ansonsten von Dezimal. Zitieren
Bitschubser Geschrieben 5. August 2002 Geschrieben 5. August 2002 Original geschrieben von Hasi jetzt noch ne letzte Frage, welche Funktion hat die 10 in der parseInt Klammer? für weitere dumme fragen mach ich nen neuen Thread auf Zahlensystem 10-er basierend(dezimal). Wenn du das wegläßt, könnte ein wert wie "07" als oktal oder so interpretiert werden. mehr dazu steht in selfhtml. Grüße Matze Zitieren
Klotzkopp Geschrieben 5. August 2002 Geschrieben 5. August 2002 Original geschrieben von Bitschubser Ivalue=integer?Nein, lvalue mit "L" am Anfang. Ein lvalue ist ein Ausdruck, der auf der "L"inken Seite einer Zuweisung stehen darf. Normalerweise darf man die Inkrement- und Dekrement-Operatoren nur auf lvalues anwenden. Zitieren
Hasi Geschrieben 5. August 2002 Autor Geschrieben 5. August 2002 *beeindrucktschau* ich verwende jetzt die Funktion vom Bitschubser... das geht ja toll.... Zitieren
Bitschubser Geschrieben 5. August 2002 Geschrieben 5. August 2002 Original geschrieben von Klotzkopp Nein, lvalue mit "L" am Anfang. Ein lvalue ist ein Ausdruck, der auf der "L"inken Seite einer Zuweisung stehen darf. Normalerweise darf man die Inkrement- und Dekrement-Operatoren nur auf lvalues anwenden. Interessanter Gedankengang, wieder was gelernt. Aber mW ist parseInt eine function. Grüße:Matze Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.