2017-03-08 45 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中 –

相关问题