簡體   English   中英

如何將文本從UIWebView打印到JavaScript表單?

[英]How to print text from UIWebView to JavaScript form?

我正在嘗試用網站填充UIWebView。 我希望該應用程序顯示比網站本身更好的登錄視圖。 因此,我在后台有一個UIWebView。 我正在嘗試使用在視圖控制器中創建的文本字段填寫網站上的表單,但是我的代碼無法正常工作。

這是網站上的表格:

<div class="centerloginform">

<form name="userForm" action="Login.jsp" method="post" autocomplete="off">
  <input type="hidden" name="action" class="hidden" id="action" value="login" />
  <div class="loginheader">Logga in</div>

  <div class="login_formtable">
    <label class="login_label">Jag är</label>
    <div id="loginselect" style="clear:both:">
      <select name="usertype" size="1"  id="usertype" class="select1" >   
        <option value="0"  selected="selected">Personal</option>
        <option value="1" >Elev</option>
        <option value="2" >Vårdnadshavare</option>
      </select>
    </div>

    <label class="login_label">Användarnamn</label>
    <input autocomplete="off" type="text" value="" name="ssusername" size="20" maxlength="50" />
    <label class="login_label">Lösenord</label>
    <input autocomplete="off" type="password" name="sspassword" size="20" maxlength="20" value=""/>

    <div><input type="submit" name="button" value="Logga in"  class="btn btn-primary" />
    </div>
    <br />
    <center>

這是我的代碼:

- (IBAction)submit:(id)sender {


    NSString *loadUsernameJS = [NSString stringWithFormat:@"document.getElementsByName('ssusername') ssusername.value='%@';", _username.text];

    NSString *loadPasswordJS = [NSString stringWithFormat:@"document.getElementsByName('sspassword')[0]; sspassword.value='%@';", _password.text];

    [self.webView stringByEvaluatingJavaScriptFromString: loadUsernameJS];
    [self.webView stringByEvaluatingJavaScriptFromString: loadPasswordJS];

    [self.webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByClassName('btn btn-primary');"];

}

誰能幫助我,以便用戶在應用程序的文本字段中編寫的文本以網站上的形式打印出來? 我懷疑我的Java getElementsBy字符串有問題。

您可以在一個JS調用中完成此操作:

NSString *submitFormJS = [NSString stringWithFormat:
                          @"document.getElementsByName('ssusername')[0].value='%@';"
                          "document.getElementsByName('sspassword')[0].value='%@';"
                          "document.getElementsByName('userForm')[0].submit();",
                          _username.text, _password.text];

PS這是一個好主意,用'id ='更改HTML代碼中的'name ='屬性,並訪問類似

document.getElementById('ssusername').value = 'smth';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM