1

我有一个 UIWebView 设置包含我的大学 Intranet 页面,我的代码将传入我的用户名(因为它是一个数字)

NSString *studentNumber = @"639909";
NSString *javaScriptNumber = @"document.getElementById('username').value=%@;";
javaScriptNumber = [NSString stringWithFormat: javaScriptNumber, studentNumber];
[webViewInt stringByEvaluatingJavaScriptFromString: javaScriptNumber];

但是,当我尝试运行相同的代码来填写密码字段时,它只适用于数字,我的密码是文本,所以当我输入文本时,什么都不会传递到密码字段中。但是,如果我将密码设置为全数字,它似乎可以工作。我需要更改此代码中的某些内容以允许它传递所有字符,因为它目前仅传递数字

谢谢

(这是密码的代码)

  NSString *password = @"password";
NSString *javaScriptPass = @"document.getElementById('password').value=%@;";
javaScriptPass = [NSString stringWithFormat: javaScriptPass, password];
[webViewInt stringByEvaluatingJavaScriptFromString:javaScriptPass];
4

1 回答 1

0

我想如果你改变这个:

NSString *javaScriptPass = @"document.getElementById('password').value=%@;";

对此:

NSString *javaScriptPass = @"document.getElementById('password').value='%@';";

它应该工作。请注意,我在 . 周围添加了单引号%@

数字有效,因为 JavaScript 将您输入的密码解释为数字;但是,当您在其中放置一个不带引号的字符串时,它会尝试运行您的密码,就像它是代码的一部分而不是字符串一样。您可能也应该为学号字段添加引号,因为您实际上是使用数字作为字符串。

于 2013-04-05T16:11:46.283 回答