【问题标题】:Send data from an iOS label field to a website text field将数据从 iOS 标签字段发送到网站文本字段
【发布时间】:2013-08-12 21:10:42
【问题描述】:

我正在开发一个 iOS 应用程序来扫描 vin 号码。我能够成功扫描 vin 号。我希望将此 vin 号传递给网站“http://tk14.webng.com/bswbhtml.html”。这里会有一个文本字段。在我单击应用程序中的按钮后,它应该会自动复制到文本字段中。

代码如下

- (IBAction)sendVIN:(id)sender
{  
     _resultField.text = vin;
}

我在变量vin 中得到了 vin 号。这必须自动复制到该文本字段。

我该怎么做?

【问题讨论】:

  • 为什么不向该 URL 发送一个 POST 请求,包括您的 VIN 号作为 POST 参数。我确实假设您可以访问该页面并且可以修改源文件以包含 Javascript 来检查并将 VIN POST 参数设置到文本字段中。这是一个关于如何使用 Javascript 获取 POST 参数的链接:stackoverflow.com/questions/1961069/…

标签: ios objective-c web-services parameter-passing


【解决方案1】:

您需要修改网页上输入字段的html,添加“值”属性:

 <input value="vin number goes here" />

有几种方法可以实现这一目标。最好的方法是通过 NSURLConnection 加载网页,而不是通过你的 webview,修改 HTML,然后让 webview 加载修改后的 HTML。这是一个例子:

int vinNumber = 1234567890;

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://tk14.webng.com/bswbhtml.html"]];

[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue currentQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {


    if (error == nil && data != nil)
    {

        NSString *html = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

        if ([html rangeOfString:@"<input type=\"text\" name=\"vinnumber\">"].location != NSNotFound)
        {

            NSString *amendedInput = [NSString stringWithFormat:@"<input type=\"text\" name=\"vinnumber\" value=\"%i\">", vinNumber];
            NSString *amendedHTML = [html stringByReplacingOccurrencesOfString:@"<input type=\"text\" name=\"vinnumber\">" withString:amendedInput];
            [_webview loadHTMLString:amendedHTML baseURL:[NSURL URLWithString:@"http://tk14.webng.com/bswbhtml.html"]];

        }


    }


}];

在我的 iPhone 4S 上生成的页面如下所示:

【讨论】:

  • 我的页面显示在谷歌浏览器中。数据必须出现在那里
猜你喜欢
  • 2018-08-21
  • 2012-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多