2010-12-28 3 views
0

Facebook 용으로 상당히 인기있는 UserJS를 만들었지 만 FF 3.6.13 버전부터는 (그 버전에서) 작동하지 않습니다. 그런 요소를 어떻게 클릭 할 수 있을지 전혀 모르겠습니다.클릭하는 방법 input type = "submit"in latest firefox?

<input value="Accept" type="submit" name="something... asdf" /> 

? 이러한 버튼을 마우스로 클릭하면 다른 페이지로 리디렉션됩니다.

내 스크립트를 간단 acceptbutton.click();

그것은 오페라, 크롬과 FF < 3.6.13에 큰 작품을 클릭 한 후 XPath는과 같은 요소를 검색하고 무엇을

하지만 최신 버전 아무것도 발생합니다. 나는 fireEvent와 eventFire 함수를 모두 시도했는데 stackoverflow에서 찾았고 자주 도움이되었지만 지금은 할 수 없다.

아마도 JQuery의 click() 함수를 사용하면 도움이되지만 내 사용자 jquery를 사용할 수 없습니다.

나는 또한 acceptbutton.form.submit();을 시도했지만 잘못된 페이지로 리디렉션됩니다.

편집 : 어떤 도움

난의 코드를 추가하고 확인

    var acceptbuttons = xpath(document,'//label[@class="uiButton uiButtonConfirm"]/input'); 
     for (var i = 0; i < acceptbuttons.snapshotLength; i++) { 
     //will search for particular accept button 
      var acceptbutton = acceptbuttons.snapshotItem(i); 
      var acceptbuttonName = acceptbutton.getAttribute("name"); 

      if(acceptbuttonName.indexOf(urlPart)!=-1) 
      { 
      // it founds button but function below do nothing in FF 
      acceptbutton.click();return; 
      } 
     } 

감사합니다!

+0

완전한 스크립트에 대한 링크는 좋을 것입니다 ... 그리고 편집을 멈추고, 나는 이미 그것을 고쳤습니다;) –

답변

0

음, 간단한 document.whatever_formname.submit(); 속임수를 써?

+0

제가 말했듯이, 그것을 시도했지만 다른 페이지로 리디렉션됩니다 정상 클릭. – Kostrzak

+1

acceptbutton.form.submit()이 나에게 이상하게 보입니다 ... 폼의 이름이 "form"입니까 ??? 올바른 구문은 document.formname.submit() 내가 기억하는 한 ... – Bosh

+0

나는이 StackOverflow 질문에서 가져 갔다 : http://stackoverflow.com/questions/991367/how-to-get-the-form- 부모 - 중 - 입력. 그 페이지 hase 50 개 이상의 양식, 그들 중 누구도 그렇게 나는 그것을 부를 수있는 이름을 가지고 있지만, 양식을 제출하는 것이 내가 무엇을 찾고 있는지 의심 스럽다. 그 버튼을 클릭하기 만하면됩니다. – Kostrzak

0

value="Accept" 부분이 전송되지 않았기 때문에 acceptbutton.form.submit();이 작동하지 않는 경우 숨겨진 입력을 추가하면 왜됩니까?

var hiddenInput = document.createElement('input'); 
hiddenInput.type = 'hidden'; 
hiddenInput.name = acceptbutton.name; 
hiddenInput.value = acceptbutton.value; 
acceptbutton.form.appendChild(hiddenInput); 
acceptbutton.form.submit(); 
+0

Booosh 코드와 동일합니다. 어쩌면 그것은 가치를 제출하지만 그것은 내가 원하던 것이 아니기 때문에 잘못된 페이지로 리디렉션 될 수 있습니다. 다른 브라우저에서 일반적인 마우스 클릭 또는 acceptbutton.click()을 사용하면 다른 스크립트 기능을 실행할 수있는 새 페이지로 리디렉션됩니다. – Kostrzak

1

당신 최신 파이어 폭스에 제출 버튼의 click() 방법을 사용할 수 있습니다. 넌 다른 뭔가 잘못 됐어. 클릭이 작동하지 않는 양식에 onsubmit 이벤트가 있습니까? 아니면 잘못된 버튼이 있습니까?

Firefox 3.6.13의 내 위치 표시 줄에 javascript: document.getElementById('submit-button').click(); void(0);을 붙여 넣어 제출했습니다. 그 아이디어에 대한 크레딧은 여기에 있습니다 : JavaScript auto-POST with NAME

관련 문제