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

Posted

技术标签:

【中文标题】每次我单击自动填充按钮时,它都会在字段中返回“nil”而不是保存的字符串【英文标题】:Every time I click autofill button it returns "nil" in the field and not the saved string 【发布时间】:2019-12-09 06:12:19 【问题描述】:

我在 userdefaults 中保存一个名称,并尝试使用 js 在某个字段的 WkWebView 中显示它,但每次单击自动填充按钮时,它都会插入“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) 

【问题讨论】:

你在哪里为 name 分配默认值? 在另一个 swift 文件中,当我在文本字段中键入值并关闭应用程序时它会保存 所以 name 是一个全局变量?确保您没有在当前的 swift 文件中再次声明它。 请向我们展示更多代码并阅读:***.com/help/how-to-ask 为你更新了代码 【参考方案1】:

而不是

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

使用

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

【讨论】:

仍然返回 nil

以上是关于每次我单击自动填充按钮时,它都会在字段中返回“nil”而不是保存的字符串的主要内容,如果未能解决你的问题,请参考以下文章

单击按钮时将显示脚本代码

Ajax 调用以通过单击按钮返回填充表单字段 django

每次我运行 npx create-react-app my-app 时,它都会在 npm start 后显示这个 html webpack 错误

在鼠标单击方法中,当我调用方法获取 X() 并获取 Y() 时,无论位置如何,它都会返回 -8 [关闭]

jQuery单击事件多次触发

每次单击按钮后,如何在 UILabel 上逐一显示文本?