Italian esecuzione automatica di campo di testo su pagina html

fifiddu70

Well-Known Member
Licensed User
Longtime User
ciao a tutti, ho bisogno di eseguire in maniera automatica una pagina html dove all'interno si trova un campo testo ed un pulsante invio.
all'interno della mia app ho una edittex dove inserisco un numero e vorrei che questo numero va ad inserirsi nel campo di testo della pagina html e dopo in automatico far partire il pulsante invio sempre da, lla pagina html, qualcuno mi sa dire come fare?
questo il codice html della pagina
B4X:
<html>
<head></head>
<body>
<form name="modulo" method="POST" action="elimina.php">
<input type="text" name="variabile" value="">
<input type="submit" value="ok">
</body>
</html>
 

MarcoRome

Expert
Licensed User
Longtime User
Puoi utilizzare la libreria WebviewExtra2, il codice potrebbe essere di questo tipo ( non testato in questo caso ma precedentemente su altro e funziona )


B4X:
Private btn_scan As Button
    Private WebView1 As WebView

    Dim WebView1 As WebView
    Dim WebViewExtras1 As WebViewExtras
    Dim variabile as String
 
End Sub

Sub Activity_Create(FirstTime As Boolean)
    'Do not forget to load the layout file created with the visual designer. For example:
    Activity.LoadLayout("1")
   
    variabile = "pippo"
 
    WebViewExtras1.Initialize(WebView1)
    Dim WebChromeClient1 As DefaultWebChromeClient
    WebChromeClient1.Initialize("WebChromeClient1")
    WebViewExtras1.SetWebChromeClient(WebChromeClient1)
    WebView1.LoadHtml($"
<html>
<head></head>
<body>
<form name="modulo" method="POST" action="elimina.php">
<input type="text" name="${variabile}" value="">
<input type="submit" value="ok">
</body>
</html>
"$)
    
End Sub

Sub Activity_Resume
   
        Log("WebView1_PageFinished")
            Dim Javascript As StringBuilder
            Javascript.Initialize
            Javascript.Append("var form=document.forms[1];")   '   Assumendo che il pulsante sia il secondo oggetto sulla tua pagina
            Javascript.Append("form.submit()")
            WebViewExtras1.ExecuteJavascript(Javascript.ToString)
          
   
End Sub


Sub WebChromeClient1_ConsoleMessage(ConsoleMessage1 As ConsoleMessage) As Boolean
    Log("WebChromeClient1_ConsoleMessage")
    Log(ConsoleMessage1.Message)
End Sub
 
Last edited:

fifiddu70

Well-Known Member
Licensed User
Longtime User
Grazie per la tua risposta MarcoRome, scusami per il ritardo nella mia risposta, sono stato impegnato sul lavoro, nel frattempo io avevo già risolto in questo modo, poi mi sono accorto della tua risposta, però non so se il tuo codice funziona e magari sia migliore come soluzione, ti faccio vedere il mio pezzo di codice che mi ha risolto il problema:
B4X:
Dim Javascript As StringBuilder
            Javascript.Initialize
            Javascript.Append("document.forms[0].variabile.value='"& "B" & txtconteggio2.text & "';")
            Javascript.Append("document.forms[0].submit()")
            Log("Executing javascript: "&Javascript.ToString)
        
            Dim WebViewExtras1 As WebViewExtras
            WebViewExtras1.executeJavascript(webview1, Javascript.ToString)

ovviamente il tuo vedo che è molto più articolato, magari anche più funzionante,lo devo provare, in tal caso dove inserisco la edittex ( txtconteggio2.text ) ?
sono curioso di vedere in funzione il tuo codice come si comporta.
 
Top