Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在WKWebView Swift中提交表单?_Ios_Swift_Xcode_Wkwebview - Fatal编程技术网

Ios 如何在WKWebView Swift中提交表单?

Ios 如何在WKWebView Swift中提交表单?,ios,swift,xcode,wkwebview,Ios,Swift,Xcode,Wkwebview,我一直在尝试使用WKWebView来填写一个网络表单并提交。到目前为止,我已经能够做到这一点。问题是WebView表单循环从“insert element”,尝试提交“到“submited”,直到我使用下面的代码 let submitFunction = document.forms[0].submit(); 有人知道发生了什么吗?我如何重写这段代码 多谢各位 import UIKit import WebKit class AnswerVC: UIViewController { @IBO

我一直在尝试使用
WKWebView
来填写一个网络表单并提交。到目前为止,我已经能够做到这一点。问题是
WebView
表单循环从“insert element”,尝试提交“到“submited”,直到我使用下面的代码

let submitFunction = document.forms[0].submit();
有人知道发生了什么吗?我如何重写这段代码

多谢各位

import UIKit
import WebKit
class AnswerVC: UIViewController {

@IBOutlet weak var webView: WKWebView!

var questionText = "1+1"

override func viewDidLoad() {
    super.viewDidLoad()
    webView.navigationDelegate = self
}

override func viewWillAppear(_ animated: Bool) {
    let url:URL = URL(string: "https://gamma.sympy.org/")!
    let urlRequest:URLRequest = URLRequest(url: url)
    webView.load(urlRequest)
}
}

extension AnswerVC: WKNavigationDelegate {

func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {

    print("insert element")

    let scriptFunction = "document.getElementById('id_i').value = '\(questionText)';"
    webView.evaluateJavaScript(scriptFunction) { (result, error) in

        if error != nil {

            ProgressHUD.showError(error as? String)

        } else {

            print("trying to submit")
            let submitFunction = "document.forms[0].submit();"
            webView.evaluateJavaScript(submitFunction) { (result, error) in
                if error != nil {
                    print(error?.localizedDescription)

                } else {
                    print("submited")
                }
            }
        }
    }

}
}