我无法使用此函数将变量发送到带有ajax的php,但我可以将它们直接发送到php并将其插入到mysql中。
我用php和典型的提交表单动作测试它到php文件并且工作正常。我不知道我错过了什么。提前致谢。最好的问候
<form class="largeform" id="editform" name="editform" accept-charset="utf-8" action="" onsubmit="enviarDatosEmpleado(); return false">
任何想法? // JavaScript文档 function objetoAjax(){
var xmlhttp=false;
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 enviarDatos(){
//donde se mostrará lo resultados
divresultado = document.getElementById('resultado');
//valores de los inputs
post_title=document.editform.post_title.value;
post_metad=document.editform.post_metad.value;
post_metak=document.editform.post_metak.value;
post_special=document.editform.post_special.value;
post_content=document.editform.post_content.value;
post_private=document.editform.post_private.value;
post_parent=document.editform.post_parent.value;
post_template=document.editform.post_template.value;
post_id=document.editform.post_id.value;
post_menu=document.editform.post_menu.value;
post_menu_order=document.editform.post_menu_order.value;
//instanciamos el objetoAjax
ajax=objetoAjax();
//uso del medotod POST
//archivo que realizará la operacion
//registro.php
ajax.open("POST", "insert.php",true);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
//mostrar resultados en esta capa
divresultado.innerHTML = ajax.responseText
divresultado.innerHTML = "ok";
divresultado.style.display="block";
//llamar a funcion para limpiar los inputs
LimpiarCampos();
}
}
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//enviando los valores
ajax.send ("post_title="+post_title+"&post_metad="+post_metad+"&post_metak="+post_metak+"&post_special="+post_special+"&post_content="+post_content+"&post_private="+post_private+"&post_parent="+post_parent+"&post_template="+post_template+"&post_id="+post_id+"&post_menu="+post_menu+"&post_menu_order="+post_menu_order)
// ajax.send("nombres="+nom+"&departamento="+dep+"&sueldo="+suel)
}
答案 0 :(得分:0)
尝试使用jQuery:
$.post("insert.php", {
var: value,
var2: value2
}, function(responseText) {
$("#resultado").html(responseText);
});
确保包含jQuery库。您不需要提前设置连接,仅供参考。
答案 1 :(得分:0)
您没有正确引用表单的DOM元素。
您需要执行以下操作:
document.getElementById('idOfFormElement').value
另外,正如一位评论者所提到的,你应该真正熟悉一个像jQuery这样的框架,这样可以更方便地使用ajax(并且更符合跨浏览器)