0

我正在使用官方的“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 浏览器相同的方式工作。

在此处输入图像描述 这是我在服务器中收到的结果。从应用程序我得到一个空字符串,而从浏览器我得到“test2”

在此处输入图像描述

4

0 回答 0