Javascript 在表单提交后不使用JQuery显示服务器消息
我有一个表单,在Javascript 在表单提交后不使用JQuery显示服务器消息,javascript,forms,Javascript,Forms,我有一个表单,在 我不能在我的页面上使用JQuery,因为它也在使用Mootools,要避免与这两个工具的冲突真是一团糟(我尝试了各种我不想打扰你的事情)。因此,我必须在这里使用纯JavaScript 一旦表单提交(验证后),它将调用下面的函数getResposta: function getXmlHttp() { var xmlhttp; try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } cat
我不能在我的页面上使用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);
}
};
}
}
函数getXmlHttp(){
var-xmlhttp;
试一试{
xmlhttp=新的ActiveXObject(“Msxml2.xmlhttp”);
}捕获(e){
试一试{
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}捕获(E){
xmlhttp=false;
}
}
如果(!xmlhttp&&typeof XMLHttpRequest!=“未定义”){
xmlhttp=新的XMLHttpRequest();
}
返回xmlhttp;
};
函数getResposta(){
var resposta=document.getElementById(“resposta”);
var-request=getXmlHttp();
open(“POST”,“谢谢.php”,true);
setRequestHeader(“内容类型”、“应用程序/x-www-form-urlencoded”);
request.onreadystatechange=函数(){
如果(request.readyState!=4)返回;
如果(request.status==200){
resposta.innerHTML=''+request.responseText+'';
}否则{
警报(“Erro:+request.statusText”);
}
};
}
}
谢谢.php:
<?php
echo "thank you";
?>
似乎没有调用Thank.php
,尽管表单已正确填写并发送到服务器
我试着输入文件的绝对路径,但没有成功。那么,这个代码有什么问题
谢谢你的帮助 getResposta()函数是否应该以
request.send(null)
结束以实际启动请求?您需要一个request.send()。见[此处][1]。[1] :在您的请求触发之前,可能表单正在正常提交。您是否禁用了表单的onsubmit?@D.Kasipovic?我认为该参数是可选的,因为我没有向服务器发送任何数据。但是我尝试了包含request.send(null)并且它可以工作!空表示您没有发送任何内容,但您仍然需要发起呼叫。另外,如果您已经包含了mootools,为什么不使用它的ajax调用呢?