Javascript 在现有源中使用XMLHttpRequest发布

Javascript 在现有源中使用XMLHttpRequest发布,javascript,http,google-chrome-extension,xmlhttprequest,Javascript,Http,Google Chrome Extension,Xmlhttprequest,我仅尝试使用XMLHttpRequest执行以下操作: 脚本下载一个网页,其中只有一个表单 脚本将文本插入到字段中 脚本提交表单,同时保留有关输入标记的所有详细信息 我完成了第一部分,但我不知道如何完成接下来的两个步骤 注意:我无法控制下载的页面,并且它不是格式良好的XML/HTML 有人能给我解释一下我该怎么做吗 这是一个谷歌浏览器扩展,所以我有所有需要的权限 编辑:这是我的当前代码: $.ajax({ url: "http://www.mysite.com/my/testpage.asp

我仅尝试使用XMLHttpRequest执行以下操作:

  • 脚本下载一个网页,其中只有一个表单
  • 脚本将文本插入到字段中
  • 脚本提交表单,同时保留有关输入标记的所有详细信息
我完成了第一部分,但我不知道如何完成接下来的两个步骤

注意:我无法控制下载的页面,并且它不是格式良好的XML/HTML

有人能给我解释一下我该怎么做吗

这是一个谷歌浏览器扩展,所以我有所有需要的权限

编辑:这是我的当前代码:

$.ajax({ url: "http://www.mysite.com/my/testpage.aspx",
        type: "POST",
        data: {
        html: http0.responseText.between("<body>", "</body>")
              },
        success: function(data) {
            var dom = $(data),
            form = dom.filter('form');
            form.attr('onsubmit', 'document.getElementById("error").value = "I\'m done!"; document.getElementById("helpmebutton").disabled = false;');
            form.attr('action', 'http://www.mysite.com/my/testpage.aspx');
            $('#tempdiv').append(form);
            form.find('input[name="ctl00$ctl00$cphSite$cphMySiteContent$linkLocation"]').val(document.getElementById("result").value);
            form.submit();
        }
    });
$.ajax({url:http://www.mysite.com/my/testpage.aspx",
类型:“POST”,
数据:{
html:http0.responseText.between(“,”)
},
成功:功能(数据){
var dom=$(数据),
form=dom.filter('form');
form.attr('onsubmit','document.getElementById(“error”).value=“我完成了!”;document.getElementById(“helpmebutton”).disabled=false;');
form.attr('action','http://www.mysite.com/my/testpage.aspx');
$('#tempdiv')。附加(表格);
form.find('input[name=“ctl00$ctl00$cphSite$cphMySiteContent$linkLocation”]').val(document.getElementById(“result”).value);
表单提交();
}
});

我真的会使用jQuery来节省时间和麻烦

创建一个id为
tempdiv
的临时
div
,并将所有内容放入该
div
。然后,填写适当的元素并提交表格,如下所示:

$.ajax({ url: "http://...",
         success: function(data) {
             var dom = $(data),
                 form = dom.filter('form');

             $('#tempdiv').append(form);

             form.find('input:text').val(123);
             // all input[type=text] get value 123

             form.submit();
         }
});

这不起作用。我将对问题进行更详细的编辑。@Bogdacutu:也许我误解了。这是一个演示我的意思(我确实纠正了一些事情):。我要试试它;但是我如何更改
form.find('input:text').val(123)
按名称选择输入?@bogdatu:这些基本上是CSS选择器,例如
input[name=“something”]
。我将尝试一下,然后回来发布结果。投票方式:)