我有一个UIWebView设置,包含我的大学内联网页面,我的代码将通过我的用户名罚款(因为它是一个数字)
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];
答案 0 :(得分:0)
我想如果你改变这个:
NSString *javaScriptPass = @"document.getElementById('password').value=%@;";
到此:
NSString *javaScriptPass = @"document.getElementById('password').value='%@';";
它应该有用。请注意,我在%@
附近添加了单引号。
数字有效,因为JavaScript将您输入的密码解释为数字;但是,当你在其中放置一个没有引号的字符串时,它会尝试运行密码,就像它是代码的一部分而不是字符串一样。您也应该为学生编号字段添加引号,因为您实际上是将该数字用作字符串。