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 に答える