我正在使用官方的“webview_flutter”插件,我想修改一个将发送到服务器的表单。这是我在我的颤振应用程序中以编程方式修改表单值的代码:(它修改了值,但它向服务器发送了一个空表单)
void _setFormLocationHistory() async {
sleep(Duration(seconds: 1));
await _webViewcontroller.runJavascriptReturningResult(
'var event = new Event("change", {bubbles: true,});var this_input = document.getElementsByName("/awLRwRXn4GTpdcq3aJE2WQ/Location_History")[0];this_input.value = "test";this_input.dispatchEvent(event);');
print("Location History updated in webview.");
}
这是我想以编程方式填写的表单(来自浏览器视图和应用程序视图):
但是,如果我将相同的代码复制并粘贴到我的浏览器控制台上(从 PC 而不是应用程序),那么它会正确发送到服务器。我希望应用程序以与 pc 浏览器相同的方式工作。