Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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....

Geschrieben

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

Geschrieben
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 :rolleyes::D

MfG

Geschrieben
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 :D

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 :)

Geschrieben

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 :)

Geschrieben

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:)

Geschrieben
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

Geschrieben
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....

Geschrieben
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

Geschrieben
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

Geschrieben

@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 :D

Geschrieben
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);"

Geschrieben
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.
Geschrieben
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 :D

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

Geschrieben
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.

Geschrieben
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

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...