Javascript 每次单击“自动填充”按钮,它都会返回“自动填充”;“无”;在字段中,而不是保存的字符串中
我正在用userdefaults保存一个名称,并试图使用js在WkWebView的某个字段中显示它,但每次单击autofill按钮时,它都会插入“nil”,而不是“John Doe”用户默认值中保存的值。有人知道为什么吗 ProfileViewControllerJavascript 每次单击“自动填充”按钮,它都会返回“自动填充”;“无”;在字段中,而不是保存的字符串中,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
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文件中再次声明。请向我们显示更多代码并阅读:更新后的代码仍然返回零