2017-02-18 74 views
1

我正在使用self.webView.stringByEvaluatingJavaScript(from: "document.getElementById('username').value = \"\(username)\"")放入用戶名,它工作正常。stringByEvaluatingJavaScript對象沒有ID

不同的網頁具有這個領域:

<input type="text" maxlength="255" name="user" class="stdWidth" value=""> 

和這個領域:

<input type="password" maxlength="255" password="1" name="pass" class="stdWidth"> 

我將如何使用stringByEvaluatingJavaScript把文本到這個領域,因爲它沒有ID?

我hace試過"document.getElementByTagName"但它沒有工作。

我想輸入的網頁是:Link

回答

3

嘗試像this.you有class字段,以便使用document.querySelector()下面選擇element.Example。

var input = document.querySelector(".stdWidth"); 
 
input.value = "\"Hello\""; 
 
//add event listener on edit like this.. 
 
input.addEventListener('change',function(){ 
 
var value = this.value; 
 
console.log(value);//this is current value of your field 
 
}); 
 
<!-- begin snippet: js hide: false console: true babel: false -->

UPDATE

getElementsByTagName()方法返回與指定標籤名的文檔中的所有元素的集合,作爲一個節點列表對象。

var input = document.getElementsByTagName('input'); 
 
input[0].value = "\"username\""; 
 
input[1].value = "\"password\"";
<input type="text" maxlength="255" name="user" class="stdWidth" value=""> 
 
<input type="text" maxlength="255" name="pass" class="stdWidth" value="">

+0

'self.webView.stringByEvaluatingJavaScript(來自: 「document.querySelector( 'stdWidth')值= \ 」\(用戶名)\「」)'做的工作 - 感謝! – ZiEiTiA

+0

可以使用'document.querySelector()',因爲你有'class'字段,然後按照'id'設置值。 –

+0

''我也想編輯這個框,但它沒有值 - 你能告訴我嗎如何編輯這個? – ZiEiTiA