简体   繁体   English

使用javascript / ajax在另一个页面上提交表单

[英]Submit form on another page using javascript/ajax

I want to submit a form which is on another page using ajax. 我想使用ajax提交另一个页面上的表单。 Here is my code: 这是我的代码:

Send();
function Send() {
var abc = document.getElementsByClassName("main");
for (var i = 0; i < abc.length; i++) {
    var item = abc.item(i);
            var mainButton = item.getElementsByClassName("mybuttonclass");
            if (mainButton.length > 0) {
                if (mainButton[0].innerText.includes("some text")){

                    var url = mainButton[0].getAttribute("href");                
                    loadXMLDoc(url, title, text);
                }

            }
        }  
    }

function loadXMLDoc(url, title, text) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.responseType = "document";
xmlhttp.onreadystatechange = function () {
    if (xmlhttp.readyState == XMLHttpRequest.DONE) {
        if (xmlhttp.status == 200) {
                var resp = xmlhttp.response;
                var textArea = resp.getElementsByClassName('textarea');                   
                 textArea.value = "Hello, this is my test message!";                     
                 var subBtn = resp.getElementsByClassName('btnclass');
                 if (subBtn.length > 0) {
                     subBtn.click();
                 }                
        }
        else if (xmlhttp.status == 400) {
            console.log('There was an error 400');
        }
        else {
            console.log('something else other than 200 was returned');
        }
    }
};

xmlhttp.open("POST", url, true);
xmlhttp.send();
}

This isn't working as expected, nothing is sent in message, no error is logged. 这没有按预期工作,消息中没有发送任何内容,也没有记录错误。 What I am missing? 我错过了什么? How this can be achieved. 如何实现这一目标。 Any help is appreciated. 任何帮助表示赞赏。

Thanks. 谢谢。

The refresh should be done by the server when the page is loaded. 加载页面时,服务器应该完成刷新。 If that isn't an option, I would use jQuery's $.ajax method in synchronous mode, attacked to the tab's click event: 如果那不是一个选项,我会在同步模式下使用jQuery的$ .ajax方法,攻击选项卡的click事件:

$('a.tab').click(function() {
    $.ajax({
        url: "/refresh",
        method: "post",
        async: false,
        data: { refresh: "ok" }
    });
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM