2017-03-08 4 views
-2

ここで人々は、その古すぎ、すでに尋ねられているので驚いています.. しかし、ここに私の問題が発生します。フォームを記入し、Windowsアプリケーションを使用して提出する方法

同じ名前の2つの入力フィールドがありますか?

HTMLコード

<html> 
<head><title></title> 
</head> 
<body> 
<input type="hidden" name="textbox" /> 
<form name="tax280" method="post"> 
<table> 
<tr><td> 
<input type="text" name="textbox" /> 
</td> 
</tr> 
</table> 
<input type="submit" value="Register" /> 
</form> 
</body> 
</html> 

しかし、私は、コードの下に使用します。値は隠し属性に設定されたと思います。

HtmlDocument doc = this.webBrowser1.Document; 
doc.GetElementById("textbox").SetAttribute("Value", "text"); 

シンプルで値を設定するには、テキストボックスだけで必要な解決策が見つかりません。

このリンクを訪問し、ページがhttps://onlineservices.tin.egov-nsdl.com/etaxnew/tdsnontds.jsp

+1

'GetElementById' ... Id。 –

+0

も同じ名前で動作しますが、同じ名前のテキストフィールドが2つあります。テキストを設定する必要があるフィールド@HristoYankov –

+0

いいえ、それはありません。 'getElementsByName'は名前に作用します。 –

答えて

0

1日後、私は私の質問の答えを見つけました。

2つ以上のテキスト入力フィールドがある場合、両方のフィールドで簡単にデータを入力できます。

<html> 
<head> 
    <title></title> 
</head> 
<body> 
    <input type="hidden" name="textbox" /> 
    <form name="tax280" method="post"> 
    <table> 
     <tr> 
      <td> 
       <input type="text" name="textbox" /> 
      </td> 
     </tr> 
    </table> 
    <input type="submit" value="Register" /> 
    </form> 
</body> 
</html> 

Windowsアプリケーションコードは以下のとおりです。

var elements = webBrowser1.Document.GetElementsByTagName("input"); 
     foreach (HtmlElement element in elements) 
      { 
       if (element.Name.Contains("textbox")) 
       { 
        element.SetAttribute("Value", "my text"); 
       } 
      } 

それは動作しますが、問題は両方のテキストフィールド内のデータフィル..です

はそれらが私の問題のために答えている助けて心をありがとうございました。 :D

2

さて、あなたはIDを設定する必要が含まれていることのリンクをクリックしてください。 GetElementByIdid属性で動作するため、nameではありません。

<input type="text" name="textbox" id="textbox" /> 

https://jsfiddle.net/vdpd02um/

+0

にはそれが動作しませんが、私の問題は、同じ名前を持つ2テキストフィールドがあります。私は必要なフィールドをテキストに設定する必要があります。 –

+1

いいえ、問題はフィールドにIDがないことです。それにクリアテキストフィールドの一部で –

+0

は、同じ名前の無い隠しテキストフィールドので設定します。 –

1

あなたはこのHTMLを持っている場合は、idname属性の違いに注意してください。

<input type="text" name="textbox" id="firstTextbox" /> 
<input type="text" name="textbox" id="secondTextbox" /> 

あなたがgetElementsByNameを経由してアクセスすることができます(BYNAMEは、配列を返す):

var fistTextBox = document.getElementsByName('textbox')[0]; 
var secondTextBox = document.getElementsByName('textbox')[1]; 

しかし、あなたが使用する必要がある問題を回避するには:

var fistTextBox = document.getElementById('firstTextbox'); 
var secondTextBox = document.getElementById('secondTextbox'); 

リターン.getElementByIdので、一つだけのアイテムを。

+0

understank私の質問。私はjavascriptではないWindowsアプリケーションを使用してフォームを埋めるのが好きです –

関連する問題