Veröffentlicht 29. Juli 200223 j 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....
29. Juli 200223 j <?php echo "<textarea rows=$rows cols=$cols>"; ... echo "<a href=\"name?rows=$rows\">bla</a>"; ?> [/PHP]
29. Juli 200223 j Das geht auch mit Javascript: window.document.formname.feldname.style.height = '500px'; zum Beispiel. MfG
29. Juli 200223 j 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
29. Juli 200223 j 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
2. August 200223 j 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
2. August 200223 j 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
2. August 200223 j 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:)
2. August 200223 j 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
5. August 200223 j 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....
5. August 200223 j 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
5. August 200223 j parseInt liefert wahrscheinlich keinen lvalue (wozu auch). Aber das sollte gehen: document.Test.vorname.value = (parseInt(document.Test.vorname.value, 10) + 10)
5. August 200223 j 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
5. August 200223 j @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
5. August 200223 j 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);"
5. August 200223 j 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.
5. August 200223 j 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
5. August 200223 j 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.
5. August 200223 j *beeindrucktschau* ich verwende jetzt die Funktion vom Bitschubser... das geht ja toll....
5. August 200223 j 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
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.