Buenas
No es
document.registro ,es
document.forms.registro
Por otro lado en vez de hacer esto
Código html:
Ver original<form id="registro" method="POST" action="" onSubmit="GuardarRegistro(); return false">
debes poner la llamada a la funcion javascript en el action del form
Código html:
Ver original<form id="registro" method="POST" action="javascript:GuardarRegistro();">
Yo he probado este codigo y me funciona
Código javascript
:
Ver originalfunction 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 GuardarRegistro(){
//donde se mostrará lo resultados
divResultado = document.getElementById('Resultado');
divResultado.innerHTML= '<img src="wait.gif">';
//valores de las cajas de texto
nombre=document.forms.registro.nombre.value;
ap_paterno=document.forms.registro.ap_paterno.value;
ap_materno=document.forms.registro.ap_materno.value;
no_credencial=document.forms.registro.no_credencial.value;
//instanciamos el objetoAjax
ajax=objetoAjax();
//uso del medoto POST
//archivo que realizará la operacion
//registro.php
ajax.open("POST", "registro.php",true);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
//mostrar resultados en esta capa
divResultado.innerHTML = ajax.responseText
//llamar a funcion para limpiar los inputs
LimpiarCampos();
}
}
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//enviando los valores
ajax.send("nombre="+nombre+"&ap_paterno="+ap_paterno+"&ap_materno="+ap_materno+"&no_credencial="+no_credencial)
}
function LimpiarCampos(){
document.forms.registro.nombre.value="";
document.forms.registro.ap_paterno.value="";
document.forms.registro.ap_materno.value="";
document.forms.registro.no_credencial.value="";
document.forms.registro.nombre.focus();
}
Código html:
Ver original
<form id="registro" method="POST" action="javascript:GuardarRegistro();"> <table id="tabla" width="850" border="0" cellpadding="0" cellspacing="0"> <td width="162" height="32"> </td> <td width="39"> </td> <td colspan="4" bgcolor="#EBEEF1">REGISTRO CREDENCIAL MAESTRO
</td> <td height="27"> </td> <td width="143">Nombre
</td> <input name="nombre" type="text" id="nombre" size="40" maxlength="255" /> <td width="233"> </td> <td height="27"> </td> <td>Apellido Paterno:
</td> <td colspan="2"><input name="ap_materno" type="text" id="ap_paterno" size="40" maxlength="255" /></td> <td height="27"> </td> <td colspan="2"><input name="ap_materno" type="text" id="ap_materno" size="40" maxlength="255" /></td> <td height="27"> </td> <td colspan="2"><input name="no_credencial" type="text" id="no_credencial" size="40" maxlength="12" /></td>
<td colspan="3"> </td> <td><input type="submit" name="Guardar" id="Guardar" value="Guardar..." class="bordemenu" /></td>
Código php:
Ver original//include("config.php");
//$nombre=$_POST['nombre'];
//$ap_paterno=$_POST['ap_paterno'];
//$ap_materno=$_POST['ap_materno'];
//$no_credencial=$_POST['no_credencial'];
//$sql="SELECT * FROM credencial_maestro WHERE no_credencial='$no_credencial'";
//$result=mysql_query($sql) or die("1 Error al intentar ejecutar la sentencia sql, mysql dice: ").mysql_error();
//$num=mysql_num_rows($result);
//echo $num;
//if($num==0)
//{
//$ssql="INSERT INTO credencial_maestro(no_credencial,nombre,ap_paterno,ap_materno) VALUES('".$no_credencial."','".$nombre."','".$ap_paterno."','".$ap_materno."')";
//$res=mysql_query($ssql) or die("2 Error al intentar insertar los datos , mysqk dice: ").mysql_error();
//echo "Los datos se han insertado correctamente";
//echo $num;
//}else{
//echo "Error el numero de credencial ya existe";
//}
echo $nombre=$_POST['nombre'];
echo '<br>';
echo $ap_paterno=$_POST['ap_paterno'];
echo '<br>';
echo $ap_materno=$_POST['ap_materno'];
echo '<br>';
echo $no_credencial=$_POST['no_credencial'];
Si tienes problemas de acentos y caracteres especiales prueba añadiendo esto en el documento php que envias al servidor por medio de ajax
De esta forma
Código php:
Ver originalheader('Content-Type: text/xml; charset=ISO-8859-1');
include("config.php");
$nombre=$_POST['nombre'];
$ap_paterno=$_POST['ap_paterno'];
$ap_materno=$_POST['ap_materno'];
...
...
...
...
Saludos