使用ajax将变量发送到php

时间:2012-07-26 16:31:35

标签: php ajax

我无法使用此函数将变量发送到带有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)

  }

2 个答案:

答案 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(并且更符合跨浏览器)