【问题标题】:UIWebView passing username and password into a formUIWebView 将用户名和密码传递到表单中
【发布时间】:2013-04-05 15:03:10
【问题描述】:

我设置了一个 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];

【问题讨论】:

    标签: javascript objective-c uiwebview passwords


    【解决方案1】:

    我想如果你改变这个:

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

    到这里:

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

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

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

    【讨论】:

    • 完美运行!非常感谢你。谢谢你的解释,JavaScript 似乎是我目前的死敌。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多