2013-12-03 4 views
0

здесь соответствующий кодКак я могу использовать javascript для «щелчка» кнопки, у которой нет идентификатора или имени?

<div class="call-to-action call-to-action-g1"> 

<input type="submit" value="Siguiente paso" class="submit"> 

Я не могу изменить этот HTML-код. Так что все, что у меня есть, это только. На этой странице также имеет много кнопок отправки так getelementbyqueryall не будет работать

+2

'getelementbyqueryall' вообще не существует;) В любом случае, только вы знаете полный HTML. Вы должны найти селектор, который сужает выбор как можно больше, а затем выбирает правильный элемент, например. по индексу. Например. если есть только один элемент, который соответствует «.call-to-action input [type = submit]», то вы уже получили его. Если их несколько, а ваш второй, получите второй элемент из набора. –

+0

Запрос по типу, затем отфильтруйте по значению? – elclanrs

+0

соответствующий код

ответ

2

Jquery Решение

$('input[value="Siguiente paso"]').trigger('click'); 

Javascript Решение

document.querySelectorAll('input[value="Siguiente paso"]').click(); 

старых браузеров

function getInputsByValue(value) 
{ 
    var allInputs = document.getElementsByTagName("input"); 
    var results = []; 
    for(var x=0;x<allInputs.length;x++) 
     if(allInputs[x].value == value) 
      results.push(allInputs[x]); 
    return results; 
} 
+0

ru, что это сработает ??? –

+0

Да, это использует jquery для ввода ввода по значению и затем запускает событие клика на нем. Он должен работать, если у вас нет двух кнопок отправки с одинаковым значением. Если это так, то решение Royi будет работать. –

+0

его рабочий штраф спасибо u. Является ли чисто javascript решение возможным ??? –

3

Вы можете сделать это:

$("div.call-to-action.call-to-action-g1 > input[type='submit'].submit[value='Siguiente paso']").on('click',function(){...});

(это специфическая я мог бы найти в соответствии с вашим кодом)

+0

извините, это не является конкретным. Мне нужно только функция click not onclick и, если возможно, нужен чистый javascript –

+0

@pravinkottawar Huh ???? щелкните _is_ обработчик для _onclick_. и если вам не нужен jQuery, то почему вы помечаете свой вопрос jQuery? –

0

Единственный способ я знаю, не зная индекс элемента, будет использовать getElementsByClassName, а затем цикл через них все сравнивая значение. Если у вас есть две кнопки с одинаковым значением, достаточно уверен, что у вас нет опций.

0

Вы пробовали использовать класс:

$('.submit').click(); 

или

$('.submit').trigger("click"); 
1

Почему бы не использовать элементы контейнера, чтобы уменьшить область поиска

$('.call-to-action-g1 input.submit').... 

, если у вас есть несколько подать в контейнере, затем используйте селектор атрибутов вместе с value в качестве показа п по @Royi

0

fiddle Demo

$('input.submit').filter(function() { 
    return $.trim(this.value) == 'Siguiente paso'; 
}).click(function() { 
    alert('hi'); 
}); 


нажать

$('input.submit').filter(function() { 
    return $.trim(this.value) == 'Siguiente paso'; 
}).click(); 
0

Обратитесь к этому fiddle Вы все еще можете захватить событие, используя тип !!

$('input').on("click",function(){ 
// your code here 
}); 

если вы хотите уточнить его еще больше, то вы можете получить значение щелкнули элемент с помощью this.value и ваш код там

$('input').on("click",function(){ 
alert("Button clicked"); 
    if(this.value=="Siguiente paso"){ 
    alert("Siguiente paso clicked"); 
    } 
}); 
0

Есть много селекторов в JQuery, а не только по идентификатору или имя. Как это:

$('.submit').click(); 

также вы можете увидеть больше о JQuery селектор: http://api.jquery.com/category/selectors/

0

Попробуйте это чисто Javascript решение:

document.querySelector(".call-to-action .submit").onclick = function() { 
    alert('bla bla'); 
} 
+0

Могу ли я изменить его, просто щелкнув, мне не нужно onclick, я не могу изменить код ui. есть много кнопок для отправки, поэтому обязательно убедитесь, что это сработает ??? –

+0

Да. Это должно сработать. Селектор запросов будет нацелен на кнопку отправки во всех div, к которым применяется класс «call-to-action». –

+0

Он не работает в 1-й попытке, когда я запустил его работу –

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