2016-11-21 5 views
0

私は純粋なJSでスクリプトを書いて、ランダムな名前を毎回持っているページからのテキスト入力を選択する必要がありますしています:Javascriptを - (ID付き)最初の入力を選択し

通常
<input type="text" name="N8PkpWeLsNRQBjvwcwKULB57utJx5L2u0Ko" class="form-control" value=""> 

私はそれを選択することになります

var textinput = document.getElementById("myInput1"); 

IDはありませんが、どのようにこの要素を選択できますか?

私が見る限り、それはページ上の唯一のテキスト入力と思われます。

私はこのようないくつかのテキストを設定するには、計画:

HTMLInputElement.prototype.setText = function(text) { 
    this.value = text; 
}; 

var el = document.querySelectorAll('input[type=text]')[0]; 
el.setText("Hi"); 

しかし、これは何らかの理由で動作しませんか?

+1

'document.querySelector( '入力を試してみてください.form-control [type = text] ') 'https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorを参照してください。 – Satpal

+0

ありがとう、しかし私が試してみます:var textinput = document.querySelector( 'input.form-control [type = text]'); textinput.setText( "Hi" );それはテキストを設定していないようですか? – zeddex

+0

私の答えの作業スニペットを参照 – Satpal

答えて

2

document.querySelector(selectors)は、文書内で最初に一致する要素を返します。

document.querySelector('input.form-control[type=text]') 

HTMLInputElement.prototype.setText = function(text) { 
 
    this.value = text; 
 
}; 
 
var textinput = document.querySelector('input.form-control[type=text]'); 
 
textinput.setText("Hi, You can no use setText method.");
<input type="text" name="N8PkpWeLsNRQBjvwcwKULB57utJx5L2u0Ko" class="form-control" value="">

+0

これは動作するはずですが、何らかの理由でコードを実行している実際のページでは動作しません。 – zeddex

1

以下を使用する最初のテキストフィールドを取得します。

var txtField=document.querySelectorAll('input[type=text]')[0]; 

テキストを設定するには、単純に行うことができます。

txtField.value="your Value"; 
+0

入力テキストをどのように設定するのですか?私の編集されたポストを参照してください。 – zeddex

+0

@zeddex編集を確認します。 –

+0

これは実際のページでも動作しません。私はtampermonkeyスクリプトを実行していて、アラートが正常にポップアップしますが、上記のどちらの答えも何らかの理由でテキストを設定しません。私はそれが大丈夫ですが、私はstackoverflowは常にそれらを削除することに気づいた場合、私はURLを投稿します。 – zeddex

1

あなただけの1つの入力を持っているので、あなたは、任意のHTMLタグを選択することができますこの方法で、これはあなたのために

var input = document.getElementByName('input'); 
0

を動作するはずです。この

var x = document.getElementsbyClassname("form-control").getAttribute("value"); 
関連する問題