2013-09-04 3 views
1

Я знаю, как получить элемент по его идентификатору в visual basic (.net) с помощью getelementbyid.Как получить элемент по имени в .net visual basic

Но как получить элемент по его атрибуту name.

например. <input id="123" name="**123**">

И если да, то как мне взаимодействовать с указанным элементом.

Благодаря

+0

Вы подразумеваете в JavaScript [getElementsByName()] (http://www.w3schools.com/jsref/met_doc_getelementsbyname. осина)? – Win

+0

Вы пытаетесь получить стандартный HTML-элемент, как вы указали выше, или элемент управления .NET? С помощью элемента управления .NET вам необходимо использовать ClientID (со стороны сервера) в блоке сценария. – Tim

ответ

0

Если я вас правильно понимаю, что вам нужно будет сделать что-то вроде этого:

  Dim myInput As HtmlInputControl = CType(e.Item.FindControl("123"), HtmlInputControl) 

Затем сделайте материал с входом вы только что создали

  myInput.Enabled = False 

ИЛИ

Вы можете добавить runat="server" к вашему элементу <input id="123" name="**123**" runat="server"> а затем просто ссылайтесь на элемент по его стороне id-сервера, пока функция, с которой вы ссылаетесь на свой элемент, не является общей функцией (если она является общей, вам понадобится новый экземпляр класса, который был создан для ссылки Это).

  123.Enabled = False 

Кроме того, я не уверен, что если вы просто делаете это, чтобы показать пример, но вы можете столкнуться с некоторыми сюрпризами, если использовать звездочки в именах элементов из-за его использование в качестве символа подстановки. Как правило, вы хотите сохранить свои атрибуты только цифрами и буквами (плюс дефисы и подчеркивания);)

Надеюсь, это поможет.

1

Опять от предположения лежит с вами, используя webbroswer

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click 

    'NAVIGATE 
    WebBrowser1.Navigate("whereveryourgoing") 
    'Waiting for page to load function 
    WaitForPageLoad() 

    'Get Element by Name 
    Dim fb_button As String = String.Empty 
    For Each element As HtmlElement In WebBrowser1.Document.All 
     If InStr(element.Name, "loginBox") Then 
      fb_button = element.Id 
      'MsgBox(fb_button & " Found! ") 
      'MsgBox(element.InnerHtml.Length.ToString) 
      'MsgBox(element.InnerHtml.ToString) 
     End If 
    Next 

    '\/ - Perform Actions 
    WebBrowser1.Document.GetElementById(fb_button).SetAttribute("value", Password) 'or InvokeMember("submit") or InvokeMember("click") 
    MsgBox("Done") 

End Sub 

Source

+0

Привет, когда я сказал, что я имел в виду, как мне изменить значение ... –

+0

Также вы можете объяснить, что делает часть GetElementsByName ("NAME")? Спасибо –

+0

Обновлено выше, дайте мне знать, если это поможет. –

Смежные вопросы