我没有网络编程经验,所以我的问题很简单。我想通过填写网页中的表单来下载大量文件。网页的扩展名为.aspx
,我只对一个字段和一个按钮感兴趣。通过浏览器中的控制台搞错,我发现执行:
document.getElementById('TxtRegNo').value = 'blahblah`;
将填补相关领域。还做了
__doPostBack("ImageButton1","Click");
将下载与.pdf
相对应的blahblah
文件。需要输入的实际值是PAG-1200到PAG-1900之类的序列。我尝试使用for循环,如下所示:
for (var i = 21618; i < 21621; i++)
{
document.getElementById('TxtRegNo').value = 'B14-' + i;
__doPostBack("ImageButton1","Click");
}
但它没有按预期工作。只下载了最后一个文档,我在控制台中得到了这个:
如果在FireFox的控制台中运行时没有出现此错误,我仍然只能运行一个文件。谁能告诉我怎么做?
答案 0 :(得分:0)
试试这个:
jQuery('form').clone().find('#TxtRegNo').val('blah').parent('form').submit();
如果页面包含多个表单,则应指定该表单。 'form'
就像css选择器一样。这将在页面上找到所有表单。如有必要,只需使用'#elementId'
或'.elementsClassName'
更具体。
也许您还需要更改表单的名称(以便能够模拟地提交表单)。我没有尝试过,这只是猜测。
如果您想将代码拆分为多行,您也可以这样做:
var myFormClone = jQuery('form').clone();
myFormClone.find('#TxtRegNo').val('blah');
myFormClone.attr('name', 'uniquename_' + iterationVariableOfForLoop);
myFormClone.submit();
如果提交失效,请尝试:
myFormClone.get(0).submit();
祝你好运!