我的表单有一个由jquery.forms.js提供的ajax处理程序。
form.ajaxForm({
dataType: 'json',
clearForm: true,
success: function (data)
{
form.replaceWith(data);
}
});
我正在使用selenium(python 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。
我想这是表单的问题。如何(手动)告诉我的ajax既可以提交表单又可以点击按钮,我需要做些什么才能使它工作?
答案 0 :(得分:2)
我使用FireQuery plugin for firefox来查看jQuery绑定到哪个元素。当页面上有一个用于表单提交的按钮时,我倾向于使用click()。非常罕见的是你会看到一个没有按钮的表单,如果没有,你总是可以调用keyKeys()。
从评论中编辑:
除了click或keyPress之外我不认为他们会提交的情况是因为通常提交被绑定到一个按钮,例如jQuery绑定到一个按钮或者有一个用于键盘交互的监听器。如果页面上没有绑定点,用户就无法提交()某些内容
答案 1 :(得分:0)
当你说“它不起作用”时你的意思是表格没有提交或提交但不是通过ajax吗?
简单测试怎么样
form=ajaxForm{(
//options
});
form.submit();//does this work?