2010-12-31 6 views
1

에 '제출'라는 버튼 :) 내가 클릭하세요클릭() 나는이 HTML이 자바 스크립트

<input type="submit" name="submit" value="Invoeren" accesskey="s" class="buttons"/> 

을 (를. HTML 쪽에서는 아무 것도 변경할 수 없습니다. .

>>> document.getElementById("submit").click(); 
Cannot convert 'document.getElementById("submit")' to object 

어떤 힌트 : 나는에서 getElementById ("제출")는()을 클릭 할 때, 나는이 얻을?

답변

2

(id 속성을 추가 할 수), 당신은이 크로스 브라우저를 할 것을 권장합니다 당신이 HTML을 변경할 수없는 경우, 같은 것을 할 입력의 모든 요소와 그것이 당신의 제출 버튼과 일치 할 때까지 유형과 값 속성을 확인하십시오

function get_submit_button() { 
    var inputs = document.getElementsByTagName('INPUT'); 
    for(var i=0; i < inputs.length; i++) { 
     var inp = inputs[i]; 
     if(inp.type != 'submit') continue; 
     if(inp.value == 'Invoeren' && inp.name == 'submit') { 
      return inp; 
      break; // exits the loop 
     } 
    } 
    return false; 
} 

function click_submit() { 
    var inp = get_submit_button(); 
    if(inp) inp.click(); 
} 
-1

jQuery를 살펴볼 수도 있습니다. 모든 것을 그렇게 쉽게 만듭니다.

1

getElementById을 사용하고 있지만 사용자 입력에 id 속성이 없습니다. IE가 완전히 네임 스페이스를 fubars하고 name 속성을 다소 id 속성과 같이 취급한다고해서 꼭해야한다는 것은 아닙니다. 내가 볼 수

<input id="submit" ... /> 
... 
document.getElementById('submit').click(); 
1

즉각적인 문제는 당신이 당신의 입력에 ID submit을 할당하지 않은, 그래서이 작동하지 않습니다

document.getElementById("submit")......... 

당신은뿐만 아니라 ID를 지정하지 않으면 :

<input id="submit" type="submit" name="submit" value="Invoeren" accesskey="s" class="buttons"/> 
0

입력 내용에 id 속성이 없으므로 id로 검색 할 수 없습니다. 이것을 대신 사용하십시오.

<input id="submit" type="submit" name="submit" value="Invoeren" accesskey="s" class="buttons"/> 
+0

감사 첫 번째 요소를 첫 번째 요소를 인 , getElementByName 함수가 있습니까? – Karlo

+0

@user https://developer.mozilla.org/en/DOM/document.getElementsByName –

0

는 "제출"ID가 어떤 요소도 없다 - 당신이라는 요소 "제출"을 가지고있다. Dylan이 지적한 것처럼, jQuery는 모든 것을 더 쉽게 만들지 만 직접 수정할 수도 있습니다. 당신이 돌이 수, 당신은 실제 HTML을 편집 할 수 있기 때문에

var buttons = document.getElementsByTagName("submit"); 
for (var i=0; i < buttons.length; i++) { 
    var button = buttons[i]; 
    if (button.getAttribute("name") === "submit") { 
    button.onclick = whatever ... 
3

참고 : "제출"형태로 아무것도 호출하지 마십시오! 스크립트에서 양식의 제출 이벤트를 숨 깁니다.

당신은 당신이 이름에서 getElementById를 사용할 수 있도록 이름을 그림자 것이다 버튼을

document.querySelector("[name=submit]").click(); // first named button 

document.querySelector("#form [name=submit]").click(); // in form with id="form" 

이전의 IE에 액세스하는 여러 가지 방법이 있지만 사용하지 않는 것이 좋습니다.

이전 방법 :

0 제출라는 페이지의 첫 번째 요소입니다
document.getElementsByName("submit")[0].click(); 

.forms[0] 첫번째 형태 elements[0]이다

document.forms[0].elements[0].click(); 

또는

("form")[0] 페이지와 elements[0]의 첫번째 형태
document.getElementsByTagName("form")[0].elements[0].click(); 

관련 문제