Aus Textfeldern/Nummerfeldern auslesen

A

Angehender

Neues Mitglied
0
Moin,

ich versuche mich zur Zeit als Übung an einer "einfachen" App.
Diese soll 3 Felder haben, wenn man in eines dieser Felder eine Zahl einträgt, dann sollen die anderen beiden automatisch ausgerechnet werden, nachdem der Button rechnen gedrückt wurde.

Nun zu meinen Fragen:
1) Wie kann ich aus einem einzelnen Feld etwas auslesen? Habe es über die ID und verschiedene andere Methoden versucht, aber irgendwas mache ich falsch.
2) Die Rechenoperationen würden dann doch auch über eine Abfrage stattfinden, welches Feld ausgefüllt ist?! Das funktioniert ebenfalls über die ID?!
3) Funktioniert das (also 1 und 2) allein über das Javascript oder müssen auch in HTML Funktionen/Befehle eingeführt werden und wenn ja welche und warum?!

In der API und im Internet habe ich zwar n paar Sachen gefunden, aber auch damit habe ich es nicht hinbekommen, dass wenigstens die Felder ausgelesen werden. Nichtmal der alert wurde in der function ausgelöst :(

Falls ihr noch weitere Infos braucht einfach melden :)
und shconmal vielen Dank für eure Bemühungen :)
 
Declaring Layout | Android Developers

genau da steht alles was du brauchst

btw: android app entwicklung hat weder was mit HTML zu tun noch mit JavaScript. Glaub du bist da komplett auf dem Holzweg.
 
  • Danke
Reaktionen: Angehender
Also entweder hab ich mich komplett verlesen oder es falsch verstanden.
Aber ist Sencha Touch nicht ein Framework, um mit Javascript und Html Apps zu entwerfen?

Sorry falls die Frage blöd ist, arbeite noch nicht so lange damit.
 
und woher sollte man wissen, dass du mit so einem framework arbeitest?

hier gibt einfach keine hellseher. ist wohl ein weit verbreiteter irrglaube :D
 
Da hast du Recht, sorry hab ich nicht bedacht.
Aber die Erklärung im Bezug auf Sencha Touch stimmt so ungefähr oder?^^
Und der Link ist auch nützlich, wenn ich mit Sencha Touch arbeite?!
 
So habe nun rausgefunden wie ich zwar ein textfeld auslesen kann, hab aber keine Ahnung wie ich der Html sage, dass sie das auf den Panel in der js-Datei anwenden soll :(

Wenn ich das Versuche kommt der gewünschte alert mit der Meldung: "[object Html Collection]" kann mir jemand einen Tipp geben? Probiere schon ewig dran rum aber funzt einfach nicht so wie ich das möcht -.-'

die Html:

HTML:
<!DOCTYPE html> 
<html> 
    <head> 
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
        <title>Werkstattrechner</title>

        <link href="touch/resources/css/sencha-touch.css" rel="stylesheet" type="text/css" /> 
        <script type="text/javascript" src="touch/sencha-touch.js"></script> 
        <script src="app.js" type="text/javascript"></script>
    </head> 
    <body>
    <div>
    <form action="">
    <input type="text" name="aw" id="Aw" />
    <input type="submit" value="rechnen" onclick="alert(document.getElementById('aw').value)" />
    </form>
    </div>
    </body> 
</html>

und hier die js:
Code:
Ext.setup({
    tabletStartupScreen: 'tablet_startup.png',
    phoneStartupScreen: 'phone_startup.png',
    icon: 'icon.png',
    glossOnIcon: false,

    onReady: function () {

        var rechnen = function (btn, evt) {
            Ext.getCmp('Aw').getValue(alert(Aw));
        }

        var form = new Ext.form.FormPanel({
            fullscreen: true,
            dockedItems: [],
            items: [
                {
                    xtype: 'numberfield',
                    name: 'aw',
                    label: 'AW',
                    id: 'Aw',
                    allowBlank: false,
                    allowDecimals: false,
                    allowNegative: false,
                    maxLength: 3,
                    maxValue: 998,
                    minLength: 1,
                    minValue: 1
                },
                {
                    xtype: 'numberfield',
                    name: 'ze',
                    label: 'ZE',
                    id: 'Ze'
                },
                {
                    xtype: 'numberfield',
                    name: 'minutes',
                    label: 'Minuten',
                    id: 'Min'
                },
                {
                    xtype: 'button',
                    text: 'rechnen',
                    id: 'rechnen',
                    handler: rechnen
                }
            ]
        });
    }
});

Danke schonmal :)
und bin auch sonst für jeden Tipp dankbar :)
 
ich glaube mit solchen frameworks haben die leute hier weniger erfahrung, deshalb wirds nicht all zu viele antworten geben :)
 
Hmm,
versuche es mir selber zu erarbeiten, aber komme im Moment leider kaum voran.
Hatte eigentlich gedacht, dass es hier User gibt, die mit Sencha Touch arbeiten.

Sollte ich auf etwas anderes umsteigen, das mehr Resonanz hat?
Und wenn ja könntest du mir dann etwas empfehlen?

Danke schonmal
 
Habe es gelöst bekommen :)

Ext.getCmp().getValue()
Mit diesem Befehl kann man Text- und auch Nummerfelder auslesen.
In der Html musste nichts verändert werden.

Der komplette Code sieht wie folgt aus:

Code:
Ext.setup({
    tabletStartupScreen: 'tablet_startup.png',
    phoneStartupScreen: 'phone_startup.png',
    icon: 'icon.png',
    glossOnIcon: false,

    onReady: function () {

        rechnen = function (btn, evt) {
            var valAw = parseInt(Ext.getCmp("Aw").getValue());
            var valZe = parseInt(Ext.getCmp("Ze").getValue());
            var valMin = parseInt(Ext.getCmp("Min").getValue());
            if (valAw == 0 && valZe == 0 && valMin == 0) {
                alert("all is nothing");
            }

            if (Ext.getCmp("Aw").getValue() == "" && Ext.getCmp("Ze").getValue() == "" && Ext.getCmp("Min").getValue() == "") {
                alert("You have to enter a number");
            }

            if (valAw >= 1) {
                valMin = (valAw * 300 / 60);
                valZe = (valMin * 16 / 10);
                valMin.toString();
                valZe.toString();
                Ext.getCmp("Min").setValue(valMin);
                Ext.getCmp("Ze").setValue(valZe);
                alert("blubb");
            }
        }

        var form = new Ext.form.FormPanel({
            fullscreen: true,
            dockedItems: [],
            items: [
                {
                    xtype: 'numberfield',
                    name: 'aw',
                    label: 'AW',
                    id: 'Aw',
                    allowBlank: false,
                    allowDecimals: false,
                    allowNegative: false,
                    maxLength: 3,
                    maxValue: 998,
                    minLength: 1,
                    minValue: 1
                },
                {
                    xtype: 'numberfield',
                    name: 'ze',
                    label: 'ZE',
                    id: 'Ze'
                },
                {
                    xtype: 'numberfield',
                    name: 'minutes',
                    label: 'Minuten',
                    id: 'Min'
                },
                {
                    xtype: 'button',
                    text: 'rechnen',
                    id: 'rechnen',
                    handler: rechnen
                }
            ]
        });
    }
});

Ist noch nicht ganz fertig, aber das Auslesen funzt :)

Und vielen Dank für die Hilfe

Thread kann geschlossen werden
 
tja umsteigen, ganz klar.

wenn du dir hier hilfe erhoffst, dann mach deine apps mit java. wie (fast) jeder :)
 
  • Danke
Reaktionen: Angehender
Alles klar,

werde meine nächste App dann mal so probieren.
Danke!
 

Ähnliche Themen

H
Antworten
2
Aufrufe
1.310
Hcman
H
R
  • Robby1950
2
Antworten
23
Aufrufe
1.015
Robby1950
R
B
Antworten
6
Aufrufe
1.051
jogimuc
J
Zurück
Oben Unten