2017-03-08 112 views
-2

這裏的人們不知道,因爲它太老了,已經問了。 但這裏是我的問題出現。如何填寫表單並使用Windows應用程序提交

你看到兩個同名的輸入字段?

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

也適用於名稱,但有兩個同名的文本字段。我需要設置文本我需要什麼字段@HristoYankov –

+0

不,它不。 'getElementsByName'對名字起作用。 –

回答

0

經過一天我找到了我的問題的答案。

當有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

不,問題是您的領域沒有身份證。 –

+0

明確表示某些文本字段因爲沒有隱藏的文本字段而設置相同的名稱。 –

1

如果你有這樣的HTML,請注意idname屬性之間的區別:

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

您可以通過getElementsByName訪問它們(綽號返回數組):

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

但要避免出現問題,你應該使用:

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

因爲.getElementById只返回一個項目。

+0

瞭解我的問題。我喜歡填寫窗體使用Windows應用程序不在JavaScript中 –

相關問題