AJAX - Conexion Basica ajax

 
Vista:

Conexion Basica ajax

Publicado por Ricardo Garcia (1 intervención) el 02/04/2013 22:55:07
Un saludos a todos los programadores de ajax, estoy empezando a programar en ajax, y estoy queriendo hacer una pagina basica que guarde en mysql, los datos de un formulario,
El problema que tengo es que cuando entra a la funcion en javascript, no avanza de esta linea
jcodce=document.registro.vcodce.value; '; he comentado esta linea y pasa, pero luego se tranca en la siguiente jcentro=document.registro.vcentro.value; nose cual sea el problema, he colocado unos alerts para que me avise hasta q parte avanza bien, por esto se que llega hasta ese sector, tal vez sea un error sencillo o tal me falta algo basico, pero por favor si me pueden ayudar no consigo que me funcione la pagina.

Saludos.

Les copio los datos de mis paginas:


index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<html>
      <head>
           <link rel='stylesheet' href='style.css'>
      </head>
      <script language="javascript" type="text/javascript" src="services/ajax.js"></script>
      <body>
 
 
<div id="registro">
  <form id="registro" method="post" action="" onSubmit="InsertarCentro();return false">
   <table id="tabla" width="450" border="0" cellpadding="0" cellspacing="0">
 
  <tr>
    <td colspan="4" bgcolor="#EBEEF1"><span class="Estilo3">REGISTRO GRATIS</span></td>
     </tr>
  <tr>
    <td colspan="4" class="raya"><p class="Estilo2">Mensaje.</p>
      <p class="Estilo2">Registro f&aacute;cil y sencillo.</p></td>
    </tr>
  <tr>
    <td><strong>Detalle perfil</strong></td>
    </tr>
  <tr>
    <td width="143">Codigo de centro de costo : <span class="Estilo1">*</span></td>
    <td colspan="2"><label>
      <input name="vcodce" type="text" id="vcodce" size="40" maxlength="255"  readonly="true">
    </label></td>
  </tr>
  <tr>
    <td>Centro de costo : <span class="Estilo1">*</span></td>
    <td colspan="2"><input name="centro" type="text" id="centro" size="40" maxlength="255"></td>
   </tr>
  <tr>
    <td>Responsable : <span class="Estilo1">*</span></td>
    <td colspan="2"><input name="responsable" type="text" id="responsable" size="40" maxlength="255" /></td>
     </tr>
  <tr>
    <td>Descripcion : <span class="Estilo1">*</span></td>
    <td colspan="2"><input name="descripcion" type="text" id="descripcion" size="40" maxlength="12" /></td>
  </tr>
  <tr>
    <td colspan="3"><center><input type="submit" name="Guardar" id="Guardar" value="Guardar..." class="bordemenu" /></td>
  </tr>
</table>
  </form>
</div>
 
</body>
</html>


Mi archivo js/ajax.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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 InsertarCentro(){
 
          //valores de las cajas de texto 
         jcodce=document.registro.vcodce.value;
         alert('Todo marcha bien uno');
         jcentro=document.registro.vcentro.value;
         alert('Todo marcha bien dos');
         jresponsable=document.registro.vresponsable.value;
         jdescripcion=document.registro.vdescripcion.value;
         jopt=1;
         //instanciamos el objetoAjax 
         ajax=objetoAjax();
         //uso del medoto POST 
         //archivo que realizará la operacion 
         //registro.php 
         ajax.open("POST", "services.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();
                                           }
                                     }
         alert('Todo marcha bien uno');
         ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
         //enviando los valores 
         ajax.send("jcodce="+jcodce+"&jcentro="+jcentro+"&jresponsable="+jresponsable+"&jdescripcion="+jdescripcion+"&jopt"+jpot);
}
function LimpiarCampos(){
         document.registro.vcodce.value="";
         document.registro.vcentro.value="";
         document.registro.vresponsable.value="";
         document.registro.vobservacion.value="";
         document.registro.vcodce.focus();
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Conexion Basica ajax

Publicado por Ricardo Garcia (1 intervención) el 03/04/2013 00:17:35
Me auto-respondo, tenia errores en los nombres del formulario y en los campos, en lugar de colocar id=NOMBRECAMPO era name=NOMBRECAMPO y tenia diferencia en los nombres.

Gracias de todos modos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 90
Oro
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

Conexion Basica ajax

Publicado por xve (222 intervenciones) el 03/04/2013 07:31:12
Hola Ricardo, gracias por comentarlo....

De todas maneras, tienes un mismo id en dos lugares diferentes, y esto puede dar lugar a problemas:
<div id="registro">
<form id="registro"...


En teoría los id's tienen que ser únicos y por lo tanto no se pueden repetir...

Espero que te ayude...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar