首页 文章

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

提问于
浏览
1

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

    我想如果你改变这个:

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

    对此:

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

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

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

相关问题