UIWebView将用户名和密码传递到表单中

时间:2013-04-05 15:03:11

标签: javascript objective-c uiwebview passwords username

我有一个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];

1 个答案:

答案 0 :(得分:0)

我想如果你改变这个:

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

到此:

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

它应该有用。请注意,我在%@附近添加了单引号。

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