Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.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
Javascript 每次单击“自动填充”按钮,它都会返回“自动填充”;“无”;在字段中,而不是保存的字符串中_Javascript_Ios_Swift - Fatal编程技术网

Javascript 每次单击“自动填充”按钮,它都会返回“自动填充”;“无”;在字段中,而不是保存的字符串中

Javascript 每次单击“自动填充”按钮,它都会返回“自动填充”;“无”;在字段中,而不是保存的字符串中,javascript,ios,swift,Javascript,Ios,Swift,我正在用userdefaults保存一个名称,并试图使用js在WkWebView的某个字段中显示它,但每次单击autofill按钮时,它都会插入“nil”,而不是“John Doe”用户默认值中保存的值。有人知道为什么吗 ProfileViewController import UIKit var name: String! class ProfileViewController: UIViewController { @IBOutlet weak var name

我正在用userdefaults保存一个名称,并试图使用js在WkWebView的某个字段中显示它,但每次单击autofill按钮时,它都会插入“nil”,而不是“John Doe”用户默认值中保存的值。有人知道为什么吗

ProfileViewController

import UIKit


var name: String!




class ProfileViewController: UIViewController {

        @IBOutlet weak var nameField: UITextField!


    override func viewDidLoad() {
        super.viewDidLoad()


        nameField.text = defaults.string(forKey: "nameField")



    }

    let defaults = UserDefaults.standard

        @IBAction func saveButton(_ sender: Any) {
                name = nameField.text


                defaults.set(nameField, forKey: "nameField")

            }


    }
@IBAction func autofill(){
    webView.evaluateJavaScript("document.getElementById(\"cnid\").value = \"\(String(describing: name!))\";",  completionHandler: nil) 
}
视图控制器

import UIKit


var name: String!




class ProfileViewController: UIViewController {

        @IBOutlet weak var nameField: UITextField!


    override func viewDidLoad() {
        super.viewDidLoad()


        nameField.text = defaults.string(forKey: "nameField")



    }

    let defaults = UserDefaults.standard

        @IBAction func saveButton(_ sender: Any) {
                name = nameField.text


                defaults.set(nameField, forKey: "nameField")

            }


    }
@IBAction func autofill(){
    webView.evaluateJavaScript("document.getElementById(\"cnid\").value = \"\(String(describing: name!))\";",  completionHandler: nil) 
}
而不是

defaults.set(nameField, forKey: "nameField")
使用


您在哪里为name指定默认值?在另一个swift文件中,当我在文本字段中键入值并关闭应用程序时,它会保存,因此name是一个全局变量?确保您没有在当前swift文件中再次声明。请向我们显示更多代码并阅读:更新后的代码仍然返回零