在没有JQuery的表单提交后显示服务器消息

时间:2014-04-03 21:42:55

标签: javascript forms

我有一个表单,一旦在<div id="resposta"></div>

中提交,就会显示来自服务器的反馈消息

我不能在我的页面上使用JQuery,因为它也使用Mootools并且它真的是一团糟,以避免与这两者的冲突(我尝试了各种各样的事情,我不打扰你)。因此,我必须在这里使用纯JavaScript。

提交表单后(验证后),它会调用下面的函数getResposta

function getXmlHttp() {
    var xmlhttp;
    try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (E) {
            xmlhttp = false;
        }
    }
    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
        xmlhttp = new XMLHttpRequest();
    }
    return xmlhttp;
};


function getResposta(){
        var resposta = document.getElementById("resposta");

        var request = getXmlHttp();

        request.open("POST", "thanks.php", true);
        request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        request.onreadystatechange = function () {
            if (request.readyState != 4) return;

            if (request.status == 200) {
                resposta.innerHTML = '<p>' + request.responseText + '</p>';

            } else {
                alert("Erro: "+request.statusText);
            }
        };
    }
}

thanks.php:

<?php
echo "thank you";
?>

虽然表单已正确填写并发送到服务器,但似乎未调用thanks.php

我尝试输入文件的绝对路径,但它不起作用。那么,这段代码出了什么问题?

感谢您的帮助!

0 个答案:

没有答案