Components | All | New | MacOS | Windows | Linux | iOS | ||||
Examples | Mac & Win | Server | Client | Guides | Statistic | FMM | Blog | Deprecated | Old |
WebView.SetFormInputValue
Sets the value of the specified input element
Component | Version | macOS | Windows | Linux | Server | iOS SDK |
WebView | 1.4 | ✅ Yes | ✅ Yes | ❌ No | ❌ No | ✅ Yes |
Parameters
Parameter | Description | Example | Flags |
---|---|---|---|
WebViewerRef | Either the Web Viewer Object Name or the Web Viewer ID as returned by "WebView.FindByName" function. | ||
FormNameOrIndex | Either the Name of the Form or the Index starting at 0 | ||
FieldNameOrIndex | You can either pass the field name of the field indix. 0 is the first item | ||
Value | |||
OnlyVisible | Whether to look for all fields or only the visible ones. Default is false. | 0 | Optional |
Description
Sets the value of the specified input elementTo learn about forms and fields on a website, you can use the Form Utility application included with our plugin.
Some websites use a lot of JavaScript, so you may need to send change event to control via WebView.RunJavaScript so the javascript is notified about the changes.
Examples
Fill field q on form f on a webpage:
MBS( "WebView.SetFormInputValue"; $WebViewerRef; "f"; "q"; "Hello" )
Load a website with login if needed:
# Load website
Set Web Viewer [ Object Name: "web" ; URL: "https://somedomain/search" ]
# Wait for it
Loop
Pause/Resume Script [ Duration (seconds): ,1 ]
Exit Loop If [ MBS("WebView.IsLoading"; "web") ≠ 1 ]
End Loop
#
# Set login name
Set Variable [ $r ; Value: MBS( "WebView.SetFormInputValue"; "web"; "login_form"; "__ac_name"; "xxx") ]
If [ MBS("iserror") ]
# No form, so we are already logged in?
If [ Position ( $r ; "failed to find form" ; 1 ; 1 ) = 0 ]
Show Custom Dialog [ "Fehler" ; $r ]
End If
Exit Script [ Text Result: ]
End If
# Set password
Set Variable [ $r ; Value: MBS( "WebView.SetFormInputValue"; "web"; "login_form"; "__ac_password"; "yyy") ]
If [ MBS("iserror") ]
Show Custom Dialog [ "Fehler" ; $r ]
End If
# Wait
Pause/Resume Script [ Duration (seconds): ,1 ]
# Click login button
Set Variable [ $r ; Value: MBS( "WebView.ClickInput"; "web"; "login_form"; "submit") ]
If [ MBS("iserror") ]
Show Custom Dialog [ "Fehler" ; $r ]
End If
# or submit form
// Set Variable [ $r ; Value: MBS( "WebView.FormSubmit"; "web"; "login_form") ]
// If [ MBS("iserror") ]
// Show Custom Dialog [ "Fehler" ; $r ]
// End If
#
# Wait for page loading after login
Loop
Pause/Resume Script [ Duration (seconds): ,1 ]
Exit Loop If [ MBS("WebView.IsLoading"; "web") ≠ 1 ]
End Loop
# Go to search page where we want to be after login
Set Web Viewer [ Object Name: "web" ; URL: "https://somedomain/search" ]
Login to a website:
Set Web Viewer [ Object Name: "web" ; URL: "https://some.domain.com/" ]
#
# wait for it to load
Pause/Resume Script [ Duration (seconds): ,5 Duration (seconds): ,5 ]
Loop [ Flush: Always ]
Set Variable [ $r ; Value: MBS("WebView.IsLoading"; "web") ]
Exit Loop If [ $r ≠ 1 ]
Pause/Resume Script [ Duration (seconds): ,5 Duration (seconds): ,5 ]
End Loop
#
# no form name, so we use index 0
Set Variable [ $r ; Value: MBS("WebView.SetFormInputValue"; "web"; 0; "email"; "test@test.de") ]
Set Variable [ $r ; Value: MBS("WebView.RunJavaScript"; "web"; "var o = document.getElementById('email'); var evt = document.createEvent('Events'); evt.initEvent('change', true, true); o.dispatchEvent(evt); ") ]
# wait a bit
Pause/Resume Script [ Duration (seconds): ,5 Duration (seconds): ,5 ]
# and password
Set Variable [ $r ; Value: MBS("WebView.SetFormInputValue"; "web"; 0; "password"; "test@test.de") ]
Set Variable [ $r ; Value: MBS("WebView.RunJavaScript"; "web"; "var o = document.getElementById('password'); var evt = document.createEvent('Events'); evt.initEvent('change', true, true); o.dispatchEvent(evt); ") ]
# wait a bit
Pause/Resume Script [ Duration (seconds): ,5 Duration (seconds): ,5 ]
# submit it
Set Variable [ $r ; Value: MBS("WebView.FormSubmit"; "web"; 0) ]
# continue with another IsLoading loop
See also
- WebView.FindByName
- WebView.FormSubmit
- WebView.GetFormButtonValue
- WebView.GetFormInputChecked
- WebView.GetFormInputValue
- WebView.GetFormSelectValue
- WebView.RunJavaScript
- WebView.SetFormInputChecked
- WebView.SetFormSelectValue
- WebView.SetFormValue
Release notes
- Version 10.1
- Fixed WebView.SetFormInputValue and related to take index for form instead of name.
Example Databases
Blog Entries
- MBS FileMaker Plugin, version 10.1pr6
- Automate web viewer in FileMaker
- Login in FileMaker web viewer if needed
- FileMaker and WebViewer communication
- Mapping addresses to geo coordinates
FileMaker Magazin
This function checks for a license.
Created 18th August 2014, last changed 20th March 2024