Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Problema intermitente con formulario

Estas en el tema de Problema intermitente con formulario en el foro de Frameworks JS en Foros del Web. ¡Hola! Estoy usando un código AJAX para enviar un formulario de contenido de forma que no sea necesario recargar la página para que éste sea ...
  #1 (permalink)  
Antiguo 15/05/2011, 11:33
 
Fecha de Ingreso: septiembre-2009
Mensajes: 210
Antigüedad: 14 años, 7 meses
Puntos: 19
Problema intermitente con formulario

¡Hola!

Estoy usando un código AJAX para enviar un formulario de contenido de forma que no sea necesario recargar la página para que éste sea enviado a la base de datos.

El código funciona a veces, lo cual es extraño, porque unas veces se envían todos los parámetros, y otras, la mayoría, falta el textarea.

El código es el siguiente:

Formulario:
Código PHP:
Ver original
  1. <form method="post" name="nuevo_contenido" action="" onsubmit="enviarDatosContenido(); return false">
  2.   <h2>Nuevo contenido</h2>
  3.   <p><label>Título del contenido:</label> <input type="text" name="titulo" id="crearcont" class="crearcont"></p>
  4.   <p><label>Contenido:</label><br>
  5.         <textarea name="contenido" id="descripcion" class="textcrearcont"></textarea><br></p>
  6.   <p><label>Sección:</label> <select id="optioncrearcont" name="padre" class="selectcrearcont"><?php
  7.         $sqlpadre = mysql_query("SELECT * FROM `seccion` ORDER BY `nombre` ASC");
  8.          while($option = mysql_fetch_array($sqlpadre)){
  9.              ?>
  10.              <option value="<?php echo $option['tres'];?>"><?php echo $option['nombre'];?></option>
  11.              <?php
  12.          }?>
  13.          </select></p>
  14.   <p>
  15.     <label>
  16. <input type="submit" name="enviar" value="Enviar" id="envcrearcont">
  17. </label>
  18.   </p>
  19. </form>
  20. <div id="resultado"></div>

AJAX
Código Javascript:
Ver original
  1. function objetoAjax(){
  2.     var xmlhttp=false;
  3.     try {
  4.         xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  5.     } catch (e) {
  6.         try {
  7.            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  8.         } catch (E) {
  9.             xmlhttp = false;
  10.         }
  11.     }
  12.  
  13.     if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  14.         xmlhttp = new XMLHttpRequest();
  15.     }
  16.     return xmlhttp;
  17. }
  18. function enviarDatosContenido(){
  19.     //donde se mostrará lo resultados
  20.     divResultado = document.getElementById('resultado');
  21.     //valores de los inputs
  22.     tit=document.nuevo_contenido.titulo.value;
  23.     con=document.nuevo_contenido.contenido.value;
  24.     pad=document.nuevo_contenido.padre.value;
  25.    
  26.     //instanciamos el objetoAjax
  27.     ajax=objetoAjax();
  28.     //uso del metodo POST
  29.     //archivo que realizará la operacion
  30.     //registro.php
  31.     ajax.open("POST", "registro.php",true);
  32.     ajax.onreadystatechange=function() {
  33.         if (ajax.readyState==4) {
  34.             //mostrar resultados en esta capa
  35.             divResultado.innerHTML = ajax.responseText
  36.             //llamar a funcion para limpiar los inputs
  37.             LimpiarCampos();
  38.         }
  39.     }
  40.     ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  41.     //enviando los valores
  42.     ajax.send("titulo="+tit+"&contenido="+con+"&padre="+pad)
  43. }
  44.  
  45. function LimpiarCampos(){
  46.     document.nuevo_contenido.titulo.value="";
  47.     document.nuevo_contenido.prototype.value="";
  48.     document.nuevo_contenido.padre.value="";
  49. }

¿Alguien podría decirme a que se debe?
Muchas gracias de antemano.

Etiquetas: ajax, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:42.