WebView.SetFormInputValue
-------------------------

Sets the value of the specified input element

| Component | Version | macOS | Windows | Linux | Server | iOS SDK |
|---|---|---|---|---|---|---|
| [WebView](component_WebView.md) | [1.4](newinversion14.md) | ✅ Yes | ✅ Yes | ❌ No | ❌ No | ✅ Yes |

MBS( "WebView.SetFormInputValue"; WebViewerRef; FormNameOrIndex; FieldNameOrIndex; Value { ; OnlyVisible } ) 

**MBS**( **"WebView.SetFormInputValue";** /\* Sets the value of the specified input element \*/  
**$WebViewerRef**; /\* Either the Web Viewer Object Name or the Web Viewer ID as returned by "[WebView.FindByName](WebViewFindByName.md)" 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**) /\* Optional; Whether to look for all fields or only the visible ones. Default is false.e.g. 0 \*/ 

### Parameters

| Parameter | Description | Example | Flags |
|---|---|---|---|
| WebViewerRef | Either the Web Viewer Object Name or the Web Viewer ID as returned by "[WebView.FindByName](WebViewFindByName.md)" 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 element  
To 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](WebViewRunJavaScript.md) 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](WebViewIsLoading.md)"; "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](WebViewClickInput.md)"; "web"; "login\_form"; "submit") \]   
If \[ MBS ("iserror") \]   
 Show Custom Dialog \[ "Fehler" ; $r \]   
End If  
\# or submit form   
// Set Variable \[ $r ; Value: MBS ( "[WebView.FormSubmit](WebViewFormSubmit.md)"; "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](WebViewIsLoading.md)"; "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](WebViewIsLoading.md)"; "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](WebViewRunJavaScript.md)"; "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](WebViewRunJavaScript.md)"; "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](WebViewFormSubmit.md)"; "web"; 0) \]  
\# continue with another IsLoading loop   
### See also

- [WebView.FindByName](WebViewFindByName.md)
- [WebView.FormSubmit](WebViewFormSubmit.md)
- [WebView.GetFormButtonValue](WebViewGetFormButtonValue.md)
- [WebView.GetFormInputChecked](WebViewGetFormInputChecked.md)
- [WebView.GetFormInputValue](WebViewGetFormInputValue.md)
- [WebView.GetFormSelectValue](WebViewGetFormSelectValue.md)
- [WebView.RunJavaScript](WebViewRunJavaScript.md)
- [WebView.SetFormInputChecked](WebViewSetFormInputChecked.md)
- [WebView.SetFormSelectValue](WebViewSetFormSelectValue.md)
- [WebView.SetFormValue](WebViewSetFormValue.md)

### Release notes

- **Version 10.1**
    - Fixed [WebView.SetFormInputValue](https://www.mbsplugins.eu/WebViewSetFormInputValue.shtml) and related to take index for form instead of name.

### Example Databases

- [WebViewer/Form Fields/Formfield sample](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/WebViewer/Form%20Fields/Formfield%20sample.shtml#1GroupButton36.0000000924.000000055.00000001039.0000000LayoutObjectAnchor_)
- [WebViewer/Form Fields/Forms Sample](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/WebViewer/Form%20Fields/Forms%20Sample.shtml#Text179.000000048.0000000209.0000000468.0000000LayoutObjectAnchor_)

### Blog Entries

- [MBS FileMaker Plugin, version 10.1pr6](https://www.mbsplugins.de/archive/2020-03-02/MBS_FileMaker_Plugin_version_1/monkeybreadsoftware_blog_filemaker)
- [Automate web viewer in FileMaker](https://www.mbsplugins.de/archive/2020-01-20/Automate_web_viewer_in_FileMak/monkeybreadsoftware_blog_filemaker)
- [Login in FileMaker web viewer if needed](https://www.mbsplugins.de/archive/2019-03-08/Login_in_FileMaker_web_viewer_/monkeybreadsoftware_blog_filemaker)
- [FileMaker and WebViewer communication](https://www.mbsplugins.de/archive/2018-08-24/FileMaker_and_WebViewer_commun/monkeybreadsoftware_blog_filemaker)
- [Mapping addresses to geo coordinates](https://www.mbsplugins.de/archive/2011-12-15/Mapping_addresses_to_geo_coord/monkeybreadsoftware_blog_filemaker)

### FileMaker Magazin

- [Ausgabe 5/2013, Seite 23 bis 24](https://filemaker-magazin.de/neuigkeit/3701-Appetithappen-FMM_201305)

This function checks for a license.

Created 18th August 2014 , last changed 20th March 2024

  
[WebView.SetFormInputChecked](WebViewSetFormInputChecked.md) - [WebView.SetFormSelectValue](WebViewSetFormSelectValue.md)

[HTML Version](WebViewSetFormInputValue.shtml)