将数据从iOS标签字段发送到网站文本字段

时间:2013-08-12 11:09:55

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

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

代码如下

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

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

我该怎么做?

1 个答案:

答案 0 :(得分: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上看起来像这样:

enter image description here