Aktuelle Zeit: 14.07.2020 08:01

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Texteingabe beim Smartphone funktioniert nicht
BeitragVerfasst: 27.12.2019 09:50 
Offline

Registriert: 19.10.2014 15:51
Bei folgendem Code klappt die Texteingabe mit Smartphones nicht. Oder zumindest sehr oft nicht.
Immer, wenn man auf das Eingabefeld klickt, geht kurz die Handytastatur an, verschwindet aber sofort wieder.
Es würde dann immer funktionieren, wenn die Texteingabebox über der Handytastatur ist, aber das ist natürlich etwas ungünstig.
Was mache ich falsch?

Testen könnt ihr es hier:
http://www.doko-lounge.de/chattest.html


Und hier der Code:
Code:

EnableExplicit

Global xres,yres,browser.s,smartphoneflg


Declare.s GetBrowserName()
Declare DesktopFeststellen()
Declare Eingabefenster()


Enumeration
  #testwindow
  #chatbox
  #chateingabe
  #chatsendenbutton
EndEnumeration





browser=GetBrowserName()
Debug browser
If FindString(LCase(browser),"mobile")>0
  smartphoneflg=1 
EndIf

DesktopFeststellen()
Eingabefenster()


Procedure.s GetBrowserName()
  ! return platform.name;
EndProcedure



Procedure DesktopFeststellen()
 
  Protected  width,height,wd ,teiler.f,zoom
  Protected.s browser
 
  !document.body.style.zoom = 1 / window.devicePixelRatio * 100 + "%"
  !v_width=document.body.clientWidth;
  !v_height=document.body.clientHeight;
  !v_r=window.devicePixelRatio
 
  Teiler=height/400
 
 
  If smartphoneflg=1 ;Smartphone
    If teiler>1
      !document.body.style.zoom = v_teiler / window.devicePixelRatio * 100 + "%"
    Else
      !document.body.style.zoom = 1 / window.devicePixelRatio * 100 + "%"
    EndIf
    !v_width=document.body.clientWidth;
    !v_height=document.body.clientHeight;
   
  EndIf
 
  xres=width
  yres=height
 
 
 
EndProcedure



Procedure Eingabefenster()
 
  Protected ChatHeight,c,ChatBreite,x,y,w,h
  OpenWindow(#TestWindow, 0, 0, xres,yres, "",#PB_Window_BorderLess)
  AddKeyboardShortcut(#TestWindow, #PB_Shortcut_Return, 2)
  chatbreite=200
  chatheight=yres-200
 
  x=10
  y=10
  TextGadget(#chatbox,x,y,ChatBreite,chatheight,"",#PB_Text_Border)
 
 
 
  x=GadgetX(#chatbox)
  y=GadgetY(#chatbox)+GadgetHeight(#chatbox)+20
 
 
 
  y=GadgetY(#chatbox):  h=GadgetHeight(#chatbox)
  ;Chateingabe
  StringGadget(#ChatEingabe, x, y+chatheight+10, GadgetWidth(#chatbox)-80, 30, "")
  x=GadgetX(#ChatEingabe)+GadgetWidth(#ChatEingabe)+5
  y=GadgetY(#ChatEingabe)
  ButtonGadget(#ChatSendenButton,x,y,60,30,"Senden")
 
 
 
 
 
 
EndProcedure







_________________
Ich programmiere plattformunabhängig und suche immer Lösungen für alle Plattformen.
Win 7/10, Linux Mint Cindy 3 (Debian), Mint 18.3 / 19.1


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Texteingabe beim Smartphone funktioniert nicht
BeitragVerfasst: 29.12.2019 20:40 
Offline

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
Hallo stevie1401,

an deinem Problem verzweifle auch ich mit SpiderBasic.

Das ist die quick and dirty - Variante:

Code:
EnableExplicit

Global xres,yres,browser.s,smartphoneflg

Declare.s GetBrowserName()
Declare DesktopFeststellen()
Declare Eingabefenster()

Enumeration
  #testwindow
  #chatbox
  #chateingabe
  #chatsendenbutton
EndEnumeration

browser=GetBrowserName()
Debug browser
If FindString(LCase(browser),"mobile")>0
  smartphoneflg=1
EndIf

DesktopFeststellen()
Eingabefenster()

Procedure.s GetBrowserName()
  ! return platform.name;
EndProcedure

Procedure DesktopFeststellen()
 
  Protected  width,height,wd ,teiler.f,zoom
  Protected.s browser
 
  !document.body.style.zoom = 1 / window.devicePixelRatio * 100 + "%"
  !v_width=document.body.clientWidth;
  !v_height=document.body.clientHeight;
  !v_r=window.devicePixelRatio
 
  Teiler=height/400
 
  If smartphoneflg=1 ;Smartphone
    If teiler>1
      !document.body.style.zoom = v_teiler / window.devicePixelRatio * 100 + "%"
    Else
      !document.body.style.zoom = 1 / window.devicePixelRatio * 100 + "%"
    EndIf
    !v_width=document.body.clientWidth;
    !v_height=document.body.clientHeight;
   
  EndIf
 
  xres=width
  yres=height
 
EndProcedure

Procedure in()
  ResizeWindow(#TestWindow, 0, -GadgetY(#chateingabe), #PB_Ignore, #PB_Ignore)
EndProcedure

Procedure out()
  ResizeWindow(#TestWindow, 0, 0, #PB_Ignore, #PB_Ignore)
EndProcedure

Procedure Eingabefenster()
 
  Protected ChatHeight,c,ChatBreite,x,y,w,h
  OpenWindow(#TestWindow, 0, 0, xres,yres, "",#PB_Window_BorderLess)
  AddKeyboardShortcut(#TestWindow, #PB_Shortcut_Return, 2)
  chatbreite=200
  chatheight=yres-200
 
  x=10
  y=10
  TextGadget(#chatbox,x,y,ChatBreite,chatheight,"",#PB_Text_Border)
 
  x=GadgetX(#chatbox)
  y=GadgetY(#chatbox)+GadgetHeight(#chatbox)+20
 
  y=GadgetY(#chatbox):  h=GadgetHeight(#chatbox)
  ;Chateingabe
  StringGadget(#ChatEingabe, x, y+chatheight+10, GadgetWidth(#chatbox)-80, 30, "")
  x=GadgetX(#ChatEingabe)+GadgetWidth(#ChatEingabe)+5
  y=GadgetY(#ChatEingabe)
  ButtonGadget(#ChatSendenButton,x,y,60,30,"Senden")
 
  BindGadgetEvent(#chateingabe, @in(), #PB_EventType_Focus)
  BindGadgetEvent(#chateingabe, @out(), #PB_EventType_LostFocus)
 
EndProcedure


Oder du verwendest normale "input" - Elemente.
Beispiel:
Code:
Html.s = "<form>" +
         " <input type='date' size='10' id='date' name='date' required pattern='[0-9]{2}\.[0-9]{2}\.[0-9]{4}' />" +
         " <p><input type='text' size='20', id='edit' name='edit'/>"+
         "</form>"

! $("body").append(v_html);

Procedure.s GetHtmlGadgetText(ID.s)
  ! return $("#" + v_id).val();
EndProcedure

Procedure SetHtmlGadgetText(ID.s, Value.s)
  ! $("#" + v_id).val(v_value);
EndProcedure

SetHtmlGadgetText("date", "2019-03-21")

Debug GetHtmlGadgetText("date")

SetHtmlGadgetText("edit", "Dies ist ein Test.")

Debug GetHtmlGadgetText("edit")


Wie das bei den SpiderBasic-Elementen geht weiß ich nicht.
Aber bei einer normalen Input-Box scrollt der Mobile-Browser automatisch.

_________________
Betriebssysteme: MX Linux 19 / Windows 10 / Mac OS 10.15.2 / Android 7.0 ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Texteingabe beim Smartphone funktioniert nicht
BeitragVerfasst: 30.12.2019 20:15 
Offline

Registriert: 19.10.2014 15:51
Alter Schwede, du hast ja wirklich auf alles eine Antwort bzw. Lösung. Hut ab! Und besten Dank!
Ich werde es die nächsten Tage versuchen zu verstehen und testen :)
Guten Rutsch!

_________________
Ich programmiere plattformunabhängig und suche immer Lösungen für alle Plattformen.
Win 7/10, Linux Mint Cindy 3 (Debian), Mint 18.3 / 19.1


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye