Javascript und mobiler Browser
Klaus- Michael Heims
- frage zum wiki
- html
- javascript
Hallo,
ich habe folgende Frage: Mit Javascript wird ein select ausgelesen und dieses soll danach in einem Textfeld angezeigt werden. In den Browsern auf einem Laptop passiert das problemlos. Nach der Auswahl wird die Zahl sofort angezeigt. Auf meinem ipad funktioniert das so nicht. Nach dem select bleibt das Textfeld leer, bzw. mit 0 initialisiert. Man muss ein zweites Mal auf das select gehen, dann erscheint der Wert. Ich habe verschiedene Browser auf verschiedenen mobilen Geräten getestet. Es war immer so.
Welche Erkenntnisse gibt es dazu? Oder habe ich einen Fehler beim Programmieren gemacht?
@@Klaus- Michael Heims
Welche Erkenntnisse gibt es dazu? Oder habe ich einen Fehler beim Programmieren gemacht?
Du hast einen Fehler bei der Problembeschreibung gemacht: Du hast die fragliche Seite nicht verlinkt.
LLAP 🖖
Es geht um die folgende Seite:
(Edit Rolf B: Link zum Link gemacht und als problematische Seite eingetragen)
Lieber Klaus-Michael,
Es geht um die folgende Seite:
www.deukla-sek-1-de
das ist jetzt ein Witz, oder? Die Endung lautet sicherlich nicht "minus de", sondern "Punkt de", und auf der Seite ist kein Select-Feld.
Nebenbei: Wenn Du Login-Daten auf Deiner Seite annimmst, dann sollte auf dieser Seite ein SSL-Zertifikat für HTTPS installiert sein. Seit der Let's Encrypt!-Initiative von Mozilla ist das bei vielen Hostern ohne Aufpreis machbar. Frag' mal bei Deinem Support nach, ob die das für Dich einrichten können.
Was Deinen Quelltext und dessen Fehler angeht, solltest Du den W3C-Validator befragen. Der findet Fehler, die Du unbedingt beheben solltest, bevor Du das vermeintliche Fehlverhalten von Browsern untersuchst! Übrigens auch auf der Login-Seite...
Liebe Grüße,
Felix Riesterer.
Hallo Felix,
fang gar nicht erst an. Das Webdesign und der Gebrauch von HTML+CSS ist auf dem Stand von 2000 oder früher. Das PHP können wir nicht sehen, aber ich würde wetten, dass der Code voller PHP4 Artefakte ist.
Entweder ist die Seite selbst uralt, oder die Kenntnisse desjenigen, der sie gebaut hat, und das nimmt man dann hin wie es ist und arbeitet mit dem Vorhandenen, oder schreibt es von Grund auf neu. Für das konkrete Problem (wie bekomme ich die Auswahl aus dem SELECT heraus) hilft es KMH jedenfalls überhaupt nicht.
Rolf
@@Klaus- Michael Heims
Es geht um die folgende Seite:
www.deukla-sek-1-de
Ich sagte: verlinken, nicht hinrotzen. Dazu gibt’s den -Button über dem Eingabefeld und die Hilfe-Seite.
Die angegebene Seite gibt es nicht.
Du meinst wohl http://www.deukla-sek-1.de/? Da gibt’s kein select
-Feld.
„Zum Programmstart“: http://www.deukla-sek-1.de/includes/login.php Da gibt’s zwar ein Formular, aber kein select
-Feld.
So wird das nichts mit uns.
Übrigens: Wenn die Seite nicht über HTTPS läuft, werden nur die dümmsten Nutzer da irgendwas ausfüllen. Die anderen werden durch ihren Browser davor gewarnt.
LLAP 🖖
Hallo Gunnar,
du musst dem Programmstart folgen, die Demo-Anmeldung wie beschrieben durchführen und dann z.B. "Ein neues Formular anlegen". Das Select-Problem wird dann sichtbar.
Den entscheidenden Punkt habe ich ihm aber schon gesagt: onclick funktioniert nur bei Klick.
Rolf
@@Rolf B
du musst dem Programmstart folgen, die Demo-Anmeldung wie beschrieben durchführen und dann z.B. "Ein neues Formular anlegen". Das Select-Problem wird dann sichtbar.
Nein, muss ich nicht.
Wenn jemand etwas von mir will, nämlich dass ich mir seine Seite ansehe, dann erwarte ich, dass derjenige mir genau diese Seite zeigt. Und nicht eine, von der aus man zu einem Ratespiel gelangt, wie es denn weitergeht.
Wenn ich ein Adventure-Game spielen soll, dann bitte eins mit besserer Grafik.
LLAP 🖖
Hallo Gunnar,
Nein, muss ich nicht.
Stimmt. Du kannst auch schlafen gehen, so wie ich jetzt. Gute Nacht 😀
Allerdings könntest Du dann auch mal drüber schlafen, wie man eine Seite direkt verlinken soll die hinter einem Login liegt, ohne die Anwendung umzuschreiben.
Rolf
@@Rolf B
Allerdings könntest Du dann auch mal drüber schlafen, wie man eine Seite direkt verlinken soll die hinter einem Login liegt, ohne die Anwendung umzuschreiben.
Da brauche ich nicht drüber zu schlafen. Das fallen mir spontan mehrere Möglichkeiten ein:
Man kopiert die fragliche Seite und entfernt jegliche Logik, die verhindert, dass die Seite ohne Login aufgerufen werden kann.
Man kopiert das Login-Formular und füllt es schon mit den erwarteten Eingaben aus. Wenn man gut ist, schreibt man noch einen JavaScript-Einzeiler dazu, der einem das Clicken auf den Submit-Button abnimmt.
Und ja, „ohne die Anwendung umzuschreiben“ habe ich gelesen. Die Kopien sind nicht Teil der Anwendung, können also umgeschrieben werden.
LLAP 🖖
Hallo Klaus-Michael,
die Anzahl der mir verfügbaren i* Geräte beträgt 0,00.
Aber, lmgt4y, liegt möglicherweise das hier bei StackOverflow beschriebene Problem vor?
Rolf
Hallo Rolf,
hm, das könnte sicherlich möglich sein. Bleibt aber die Frage, warum es auf anderen Tablets und Smartphones auch so ist. Es scheint kein iOS-spezifisches Problem zu sein.
Ich werde trotzdem mal probieren.
Zunächst herzlichen Dank für den Rat.
Hallo Klaus-,
danke für die Bereitstellung des Link. Rein interessehalber: Wie alt ist diese Web-Anwendung? Ist sie von Dir? Sprich: Hast Du den Überblick über den Code? Oder ist ein 15 Jahre altes Schülerprojekt und Du möchtest was hinzufügen?
Zu deiner Frage: Du bist auf das gleiche Problem hereingefallen, dass alle haben, die Computer = Desktop-PC denken: Ein Tablet bedient sich anders.
Versuche doch mal, deine Anwendung per Tastatur zu bedienen (also per Tab Taste das Select Feld anspringen, per Pfeiltaste einen Wert auswählen, ENTER drücken, weiter Tabben.
Geht auch nicht!
Grund: onclick reagiert auf einen KLICK. Aber nicht jede Änderung eines Select wird durch einen Klick ausgelöst.
Was Du brauchst, ist das Change-Event, das feuert bei jeder Änderung. Allerdings, eigentlich brauchst Du es nicht, denn...
Du kannst doch auch genau so gut die Values der Select-Elemente direkt verwenden. Die haben ein name Attribut und werden genauso beim Submit übertragen wie die Input-Felder. Es ist ja auch merkwürdig, wenn man per Dropdown Werte auswählen kann UND in ein Textfeld eingeben. Ich glaube, der Komfortgewinn ist da recht begrenzt.
In neueren Browsern kannst Du, wenn Du eine Wertevorgabe willst, auch mit datalist arbeiten.
Rolf
Sehr geehrte Antwortgeber,
Ihnen allen vielen Dank für die verschiedenen Kritikpunkte und polemischen Bewertungen des Projektes. Konstruktiv war am Ende der Beitrag von RolfB. Offenbar habe ich zu veraltete Bücher gelesen und auch im Internet gibt es nicht überall den neuesten Stand zu JavaScript, php, html, css.
Die Anwendung wurde eben nicht ursprünglich für mobile Endgeräte geschrieben und wird primär nicht auf diesen genutzt werden. Ich selbst habe das vor 6 Jahren geschrieben, fing damals bei Null mit Programmieren an, habe es dann zwischenzeitlich erweitert und wollte jetzt halt einmal sehen, ob man es zumindest für Tablets auch einrichten kann.
Dass dazu Arbeit nötig ist, ist mir klar. Ich weiß auch schon, dass Computer nicht gleich Desktop-PC ist. Gerade deshalb ergab sich ja meine Frage.
Den Nutzern, für die das geschrieben wurde, konnten und können damit effizient arbeiten. Die Sache erfüllt ihren Zweck, auch wenn es veraltet programmiert ist. Man kann sich übrigens nicht einfach registrieren. Die Registrierung läuft nur persönlich über mich. Die Seite selbst erfüllt auch nicht die Anforderungen für eine Internetseite, auch da muss ich jetzt noch nachbessern (Impressum, DSGVO). Diese "Seite" wird aber nicht großartig aufgesucht und genutzt werden. Sie ist ja in ihrem Zweck sehr speziell und bleibt einen begrenzten Anwenderkreis vorbehalten.
Ich hatte aber sowieso vor, endlich das auf HTTPS umzustellen.
Ansonsten habe ich den Eindruck, dass dies wohl eher kein Forum für meine Fragen ist, dafür weiß ich zu wenig. Ich werde aber treuer Nutzer von selfhtml bleiben.
Herzliche Grüße Klaus Heims
Hallo Klaus-Michael,
ich bleibe beim Du…
Danke für deine Stellungnahme. Ich habe mir ähnliches schon gedacht.
Lass Dich durch die Kritik an deiner Fragestellung nicht entmutigen. Gerade für weniger intensiv arbeitende Programmierer ist hier eigentlich ein guter Platz.
Für zukünftige Fragen hast du jetzt jedenfalls eine Idee, wie man den potenziellen Antwortern beim Finden helfen kann.
Wenn Du sie noch nicht selbst gefunden hat, lege ich dir die Tutorials im SelfWiki ans Herz. Da wirst du vieles finden, was dir für den Umstieg auf aktuelle Webgestaltung hilft.
Und wenn was unklar ist, sei weiterhin Willkommen.
Rolf
@@Klaus- Michael Heims
Ansonsten habe ich den Eindruck, dass dies wohl eher kein Forum für meine Fragen ist
Doch, das ist es. Du musst deine Fragen nur für andere nachvollziehbar stellen. Dazu gehört das Zeigen einer relevanten Beispielseite, ggfs. das Zeigen von relevantem Code.
Ein Formular, das gar nicht jenes ist, um das es geht, wo man erst im Kleingedruckten Anleitungen lesen muss, ist nicht nachvollziehbar. – Warum sollte man in dem Formular, wo man nach select
-Feldern sucht, Text lesen?
Einfach bei deiner nächsten Frage besser überlegen: Welche Informationen brauchen andere, um das Problem nachvollziehen zu können? Was kann man potentiellen Helfern an Aufwand zumuten?
LLAP 🖖
Sehr geehrter Herr Bittersmann,
Sie haben natürlich Recht - meine Anfrage war nicht gut vorbereitet. Sollte ich das noch einmal wieder machen, dann werde ich mich bessern.
Trotzdem vielen Dank für Ihr Feedback und das Sie sich Zeit genommen haben.
MfG
Klaus Heims