2017-02-10 9 views
0

Ajax 업데이트를 호출하는 버튼에 .click()을 할 사용자 스크립트를 작성하고 있습니다. 이 Ajax 업데이트로로드 된 버튼의 .click().Ajax가 내용을로드 한 후 .click()을 실행할 수 없습니다. 클릭하고 싶습니다.

document.querySelectorAll('#main > div:nth-child(6) > input:nth-child(6)')[0].click(); 
setTimeout(function() { document.querySelectorAll('#main > div:nth-child(6) > input:nth-child(8)')[0].click(); }, 1000); 

편집 : 나는 스크립트가 버튼을 클릭하여이 페이지 사이를 점프 언급하는 것을 잊었다

내가 사용하고있는 코드입니다. 첫 번째는 작동하지만 두 번째 .click()은 .click()을 시도하는 버튼이 정의되지 않았 음을 반환합니다. 그래서 나는 잘못된 셀렉터가 있고 Chrome 개발자 도구에서 복사했다고 생각했습니다. 그러나 문제는 여전히 지속됩니다. 누군가 Ajax 콜백에 .click()을 넣으라고 제안했으나이 현재의 버튼에이 .click()을 삽입하는 코드를 삽입해야하고 영원히 계속 될 것입니다.

+0

DOM을 업데이트 한 후 AJAX 콜백에'.click()'을 호출하는 코드를 넣으십시오. – Barmar

답변

0

코드 스 니펫을 많이 사용하지 않는 것으로 보입니다 (서식을 지정하는 것이 좋습니다). 귀하의 아약스 전화에서 귀하의 "성공"블록에 넣어해야합니다.

버튼에 이미있는 수신기에서 클릭을 트리거하려고합니다. 먼저 청취자를 바인딩 한 다음 사용자 동작에서 클릭을 트리거합니다.

$.ajax({ 
     url: 'MyURL', 
     contentType: 'YourContentType', 
     type: 'GETorPOST', 
     dataType: 'yourDataType'}) 
    .success(function (result) { 
     $("#myButton").trigger("click"); 
     OR 
     clickYourButtonFunction(); 
    }) 
    .error(function (xhr, status) { 
     console.log(status); 
    });