2016-09-29 7 views
-1

양식에 두 개의 버튼이 있으며, 페이지로드시 버튼 중 하나를 자동으로 클릭하기 위해 GreaseMonkey를 사용하고 싶습니다. 두 개의 버튼은 다음과 같습니다.자바 스크립트 여러 버튼 중 하나를 클릭하십시오

<td rowspan="2"><input class="first action" name="first" type="submit" value="First Action" style="font-size: 10pt;" /></td> 
<td rowspan="2"><input class="second action" name="second" type="submit" value="Second Action" style="font-size: 10pt;" /></td> 

나는 두 개의 코드를 시도했지만 어느 것도 작동하지 않습니다. 첫 번째 양식을 선택하고 제출하려고하면 "No Action Permitted"라는 오류 메시지가 나타납니다. 두 번째 버튼을 클릭()합니다.

첫째 :

var button = document.getElementById('units_form'); 
window.location(button); 

둘째 :

var button = document.getElementByClassName('first action'); 
button.click(); 
+1

두 번째 구문 오류가 있습니다. 브라우저 콘솔을 확인하는 데 문제가 있으면 보았을 것입니다. 'getElement (s) ByClassName'입니다. 요소 복수형, 단수형이 아닙니다. –

+0

요소는 s가있을 수도 있고 없을 수도 있습니다. 어느 쪽이든 작동하지 않습니다. –

+0

번호. 그것은 할 수 없다. 그것은 domID **가 유일해야하기 때문에 "byID"를 위해 유일합니다. 그러나 동일한 클래스를 가진 다중 요소가있을 수 있으므로 함수의 복수형도 마찬가지입니다. –

답변

0

먼저 떨어져, 일반 솔루션 :

  • 클래스 이름으로 요소 개체를 얻을 수는 document.getElementsByName("class_name")[0]를 사용합니다. 마지막 부분 [0]은이 클래스가있는 모든 요소 중 첫 번째 요소를 제공합니다.
  • 요소에서 이벤트를 발생 시키려면 this article on MDN을 참조하십시오. 나는 강력하게 조언한다. . 기사를 읽는 데있어 귀하의 게시물을 판단하는 것은 매우 게으 릅니다.

모두 함께 퍼팅이 그 모든 요소에 화재 것

$(".class_name").click(); 

참고 :

또한
var button_element = document.getElementsByName("button-class-name")[0]; 
var event_object = new MouseEvent('click', { 
    'view': window, 
    'bubbles': true, 
    'cancelable': true 
}); 
button_element.dispatchEvent(event_object); 

, 대부분의 사이트가 아래로 비등하는, jQuery 라이브러리를 사용 클래스 이름.