Можно ли нажать эту кнопку с помощью .click ()? - PullRequest
3 голосов
/ 05 июля 2011

Я пытаюсь найти способ щелкнуть это с помощью JavaScript .click ()

<input type="button" class="button" value="Test">

Есть ли способ сделать это с заданными атрибутами или мне нужно добавить больше (Id или Name), чтобы я мог использовать getElementby?

Ответы [ 6 ]

3 голосов
/ 05 июля 2011

вы можете сделать это с помощью getElementsByTagName ("input") и искать элементы с типом атрибута кнопки - но вам лучше получить его с атрибутом id.

1 голос
/ 05 июля 2011

Отрываясь от моей головы:

var buttons = document.getElementsByTagName('input');
for (var i = 0; i < buttons.length; i++) {
   if ((i.type == 'button') && (i.className == 'button') && (i.value == 'Test')) {
       i.click();
       break;
   }
}

Определенно было бы легче поставить ID на кнопку, так что вы можете просто иметь / do:

<input id="mybutton" class=... ...>

document.getElementById('mybutton').click();
0 голосов
/ 05 июля 2011

Вы, конечно, можете извлечь элемент, используя существующие атрибуты, но это зависит от того, какие другие кнопки есть в вашей форме. Наличие указанного id всегда является хорошей идеей в таких ситуациях .

Даже использование jQuery с $("#yourid").click() всегда хорошая идея ..

0 голосов
/ 05 июля 2011

Я думаю, что самый простой способ - добавить идентификатор. Одним из вариантов может быть получение всех элементов DOM, а затем поиск по ним, пока вы не найдете один с точными значениями, но это много ненужной работы.

0 голосов
/ 05 июля 2011
`<input type="button" class="button" value="Test" id="btnTest">`
`<input type="button" class="button" value="Test" id="clickTest" onclick="myClick()">`
function myClick()
{

btnTest.click();
}
0 голосов
/ 05 июля 2011

Вы сэкономите много шума, если добавите атрибут id в свой HTML.

Тогда вы можете просто сделать:

document.getElementById('mybutton').click();

и с нулевой проверкой:

var element = document.getElementById('mybutton');

if(element != null)
{
    element.click();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...