UIWebView passing username and password into a for

2019-07-28 14:14发布

I have a UIWebView set up containing my universitys intranet page, my code will pass in my username fine (as it is a number)

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

However when i try to run the same code to fill in the password field, it will only work with numbers, my password is text so when I enter text nothing will pass into the password field. However if I set my password to be all numbers it seems to work. Is there something in this code I need to change to allow it to pass all characters as it currently only passes numbers

Thankyou

(This is the code for the password)

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

1条回答
干净又极端
2楼-- · 2019-07-28 14:28

I think if you change this:

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

to this:

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

it should work. Notice that I added single quotes around %@.

Numbers worked because the JavaScript interpreted the password you entered as a number; however, when you put a string in there with no quotes, it's tries to run you password like it's part of the code instead of as a string. You should probably add the quotes for the student number field too, since you are really using the number as a string.

查看更多
登录 后发表回答