1

可能重复:
如何将值从 javascript 传递到 Objective-C

我想将一个文本变量从 JavaScript 传递给一个 Objective-C 变量。

我的 HTML 文件如下所示:

<p>Bitte tragen Sie die Document ID ein:</p>

<SCRIPT TYPE="text/javascript">
    function testResults(form){
        location.href = DocumentID.value;
    }
</SCRIPT>

<form action="">
  <table border="0" cellpadding="5" cellspacing="0" bgcolor="#E0E0E0">
    <tr>
      <td align="right">Document ID:</td>
      <td><input name="DocumentID" type="text" size="30" maxlength="30" value="35060e6242160705744ffd8e280005b9"></td>
    </tr>
        <tr>
      <td align="right">Formular:</td>
      <td>
        <input type="button" NAME ="button" value=" Absenden " onClick="testResults(this.form)">
        <input type="reset" value=" Abbrechen">
      </td>
    </tr>
  </table>
</form>

这是 Objective-C 代码:

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {


    if([request.URL.relativeString isEqualToString:@"http://localhost:8888/"])
    //if([request.URL.relativeString rangeOfString:@"http://localhost:8888/"].location)
    {
        //self.URL
        [self loadData];

        return true;
    }
   return true;
}

有人可以给我一个提示吗?谢谢!

4

1 回答 1

1

在 javascript 中,使表单提交在 javascript 中设置一个变量,然后加载一个虚拟 url。

您像上面所做的那样在 Obj-C 中捕获该 url,然后在 javascript 中调用一个函数来返回该变量。

NSString *script = [NSString stringWithFormat:@"myfunc('%@')", html];
NSString *result = [self.webView stringByEvaluatingJavaScriptFromString:script];

所以 javascript 中的 myfunc 返回表单变量。

于 2012-08-08T14:15:05.403 回答