2009-12-15 2 views
0

내 양식에 jquery.forms.js에서 제공하는 ajax 핸들러가 있습니다.jQuery.forms.js는 click()을 사용하지만 submit()을 사용하지 않습니다 (셀렌 사용)

form.ajaxForm({ 
    dataType: 'json', 
    clearForm: true, 
    success: function (data) 
    { 
    form.replaceWith(data); 
    } 
}); 

나는이 사용하는 셀레늄 (파이썬 RC 인터페이스)를 테스트하고있어, 나는() 버튼을 클릭하면 그것은 작동하지만 내가 형태로 제출하면 작성자 :

locbase = "dom=document.forms[0]" 
    SEL.type(locbase + ".elements[0]", text) 
    SEL.select(locbase+".elements[2]", "label=%s" % username) 
    SEL.submit(locbase) # DOESNT WORK 
    SEL.click(locbase+".elements[3]") # WORK! 

을 "아무튼 '일하다'는 말은 양식이 제출되지만 AJAX를 통해서는 제출되지 않는다는 의미입니다.

이 양식에 문제가있는 것 같습니다. 내 아약스가 폼을 제출하고 버튼을 클릭 할 때 모두 바인딩된다는 것을 (수동으로) 어떻게 알 수 있습니까? 어떻게 작동 시키려면 어떻게해야합니까?

답변

2

firefox의 경우 어떤 요소에 jQuery가 바인딩되어 있는지 보려면 FireQuery plugin을 사용하십시오. 양식을 제출할 때 페이지에 버튼이있을 때 click()을 사용하는 경향이 있습니다. 아주 드물게 버튼을 가지고있는 폼을 볼 수 있으며, 그렇지 않으면 항상 typeKeys() 호출을 할 수 있습니다. 코멘트에서

편집 : 클릭하거나 내가 일반적으로 버튼에 버튼 예를 들어, jQuery와 바인딩에 바인딩 제출 때문에 제출 할 상황이있다거나 없다고 생각의 키보다 더

기타 키보드 상호 작용을위한 청취자. 사용자는 페이지에 바운드 포인트가없는 무언가를 제출할 수 없습니다.

+0

에 대한

무엇

그래서이 제출는 문제가되지 않습니다() 작동하지 않습니다을 의미합니까? Enter를 누르거나 무엇을 누르는 것은 어떨까요? –

+0

Submit 버튼이 jQuery Form에 바인딩되어 있다면 클릭하면됩니다. 그렇지 않으면 keyPress ("\ 13")를 사용할 수 있습니다. submit이 작동하지 않는지는 모르겠지만 셀레늄을 사용하는 2 년 이상에 나는 결코 submit()을 사용할 필요가 없습니다. – AutomatedTester

+0

내 말은, 사용자가 "클릭"하고 있습니까? –

0

"작동하지 않습니다"라고 말하면 양식이 제출되지 않거나 제출되지만 아약스를 통해 제출되지는 않는다는 의미입니까? 간단한 테스트

form=ajaxForm{(
//options 
}); 

form.submit();//does this work? 
+0

그것은 그것이 제출하는 것을 의미한다. 그러나 아약스 경유가 아니라. –

관련 문제