Retroceder   Foros del Web > Programación para sitios web > AJAX

Respuesta
 
Herramientas Desplegado
Antiguo 08-sep-2007, 16:47   #1 (permalink)
andresq no se puede cailificar en este momento
 
Avatar de andresq
 
Fecha de Ingreso: enero-2007
Ubicación: Chiapas, México
Mensajes: 158
Enviar un mensaje por MSN a andresq
Pregunta script para identificar navegador???

hola a todos, saludos desde chiapas!

el titulo si va de acuerdo a lo q deseo preguntar, no mas q es larga la historia, espero de verdad tengan tiempo para leer......

Bueno tengo una duda q me ha estado quebrando la cabeza, tengo un form donde registro un proyecto, en dicho form puedo asignar alumnos, asesores externos y asesores internos.

mi problema esta con los asesores; por ejemplo, supongamos q el maestro (q un maestro es un asesor interno) con idCat 45 se asigna al proyecto, recibo el 45 por un input y se carga el maestro a traves de AJAX por cada maestro asignado cargo 3 inputs, dos tipo hidden ( uno para el contador de asesores y el otro q lleva su value=45) y un tercer input tipo text para anotar el area q asesorara que en este ejemplo como es asesor interno se llamara id y name = areaint1.

el problema principal es la validacion de si esta vacio ese campo, esta es mi funcion para validar el form, PERO CLARO, el explorer no lo hace.

Código HTML:
function verifEmpre(formulario,a)
{
 if(formulario.categoria.value==0){alert("Selecciona una categoria.");return;}
 if(formulario.subcategoria.value==0){alert("Selecciona una subcategoria.");return;}
 if(vacio(formulario.empresa)){alert("Escribe el nombre que tendra la Empresa.");return;}
 if(vacio(formulario.giro)){alert("Escribe el giro de la Empresa.");return;}
 if(vacio(formulario.producto)){alert("Escribe el producto que vendera la Empresa.");return;}
 if(vacio(formulario.sede)){alert("Escribe la sede donde se llevara a cabo el Evento de Emprendedor.");return;}
 if(vacio(formulario.objetivo)){alert("Escribe el objetivo general de la Empresa.");return;}
 
 if(typeof externo1!='undefined')
 {
  if(formulario.areaext1.value==""){alert("Escribe el área que asesorará el primer Asesor Externo.");return;}
 }
 if(typeof externo2!='undefined')
 {
  if(formulario.areaext2.value==""){alert("Escribe el área que asesorará el segundo Asesor Externo.");return;}
 }
 if(typeof asesor1!='undefined')
 {
  if(formulario.areaint1.value==""){alert("Escribe el área que asesorará el primer Asesor Interno.");return;}
 }
 if(typeof asesor2!='undefined')
 {
  if(formulario.areaint2.value==""){alert("Escribe el área que asesorará el segundo Asesor Interno.");return;}
 }
 
 
 formulario.action="guardar-empre.php?guarda="+a;
 formulario.submit();
 
}
pd: lo raro de esta funcion es q si en cada if en lugar de estar negado lo paso a == en el explorer lo hace pero en el firefox no....pero como dicen esa es otra historia!

En vista de q mi funcion no jala para explorer intente hacer q en el script q guardar el form de dicho proyecto "guardar-empre.php" cheque si esta o no vacio mi input tipo text del area del asesor y si es asi q regrese al form.

claro se q no debo validar del lado del servidor pero...la desesperacion ya saben....

Código PHP:
if($_GET['guarda']==1)
 {
  
$cate $_POST['categoria'];
  
$subcate $_POST['subcategoria'];
  
$nombre $_POST['empresa'] ; 
  
$giro $_POST['giro'];
  
$produc $_POST['producto'];
  
$lugar $_POST['sede'];
  
$fecha_sede $_POST['anio']."-".$_POST['mes']."-".$_POST['dia'];
  
$obj $_POST['objetivo'];
  
$fase 1;
  
$dateactual date("Y-m-d");
 
  
$cont $_POST['contador'];
  
$cont2 $_POST['contador2'];
  
$cont3 $_POST['contador3'];
 
 
  if(isset(
$cont3))
  {
   switch(
$cont3)
   {
    case 
1:
      if(
$_POST['areaext1']=="")
      {
       echo 
"<script>alert('Escribe el area del primer Asesor Externo.');</script>";
       echo 
"<script>location.href='javascript:history.go(-1)';</script>";
      }
    break;
    case 
2:
      if(
$_POST['areaext1']=="")
      {
       echo 
"<script>alert('Escribe el area del primer Asesor Externo.');</script>";
       echo 
"<script>location.href='javascript:history.go(-1)';</script>";
      }
      if(
$_POST['areaext2']=="")
      {
       echo 
"<script>alert('Escribe el area del segundo Asesor Externo.');</script>";
       echo 
"<script>location.href='javascript:history.go(-1)';</script>";
      }
    break;
   }
  }
  if(isset(
$cont2))
  {
   switch(
$cont2)
   {
    case 
1:
      if(
$_POST['areaint1']=="")
      {
       echo 
"<script>alert('Escribe el area del primer Asesor Interno.');</script>";
       echo 
"<script>location.href='javascript:history.go(-1)';</script>";
      }
    break;
    case 
2:
      if(
$_POST['areaint1']=="")
      {
       echo 
"<script>alert('Escribe el area del primer Asesor Interno.');</script>";
       echo 
"<script>location.href='javascript:history.go(-1)';</script>";
      }
      if(
$_POST['areaint2']=="")
      {
       echo 
"<script>alert('Escribe el area del segundo Asesor Interno.');</script>";
       echo 
"<script>location.href='javascript:history.go(-1)';</script>";
      }
    break;
   }
  }
  else
  
//Verificamos que no existe una Empresa con el mismo nombre.
  
$consulta "SELECT nom_empresa FROM proyecto_empre WHERE nom_empresa='$nombre'";
  
$resultado mysql_query($consulta);
  
$row mysql_fetch_row($resultado);
 
  if(!
$row)
  {
   
$mysql "INSERT INTO proyecto_empre (iddpto,idcategoria,id_subcat,nom_empresa,giro,producto) VALUES('".$_SESSION['user']."','$cate','$subcate','$nombre','$giro', '$produc')";
   
$result mysql_query($mysql,$db) or die(mysql_error("Error al guardar los datos de emprendedores."));
 
   
$query "SELECT MAX(idemprendedor) as 'maxid' FROM proyecto_empre";
   
$resultado mysql_query($query,$db);
   
$fila mysql_fetch_array($resultado);
 
   
$mysql "INSERT INTO details_empre (idemprendedor,fecha_reg,lugar_sede,fecha_sede,objetivo,lugar,fase) VALUES('".$fila['maxid']."','$dateactual','$lugar','$fecha_sede','$obj','$lugar','$fase')";
   
$result mysql_query($mysql,$db) or die(mysql_error("Error al guardar los datos en la tabla detalles_empre"));
 
   
$query "SELECT MAX(iddetails) as 'maxid' FROM details_empre";
   
$resultado mysql_query($query,$db);
   
$fila2 mysql_fetch_array($resultado);
 
   
//GUARDAMOS EN LA TABLA EMPRE_ALUMNO
   
for($x=1$x<=$cont$x++)
   {
    
$var 'alumno'.$x;
    
$alum $_POST[$var]; 
    
$mysql "INSERT INTO empre_alumno (idemprendedor,NoControl) VALUES(".$fila['maxid'].",'".$alum."')";
    
$result mysql_query($mysql,$db);
   }
 
   
//GUARDAMOS EN LA TABLA EMPRE_EXTERNO
   
for($y=1$y<=$cont2$y++)
   { 
    
$var2 'asesor'.$y;
    
$cat $_POST[$var2]; 
    
$mysql "INSERT INTO empre_interno (idemprendedor,idCat,area) VALUES(".$fila['maxid'].",'".$cat."','".$_POST['areaint'.$y]."')";
    
$result mysql_query($mysql,$db);
   }
   
//GUARDAMOS EN LA TABLA EMPRE_INTERNO
   
for($y=1$y<=$cont3$y++)
   { 
    
$var2 'externo'.$y;
    
$cat $_POST[$var2];
    
$mysql "INSERT INTO empre_externo (idemprendedor,numcontrol,area) VALUES(".$fila['maxid'].",'".$cat."','".$_POST['areaext'.$y]."')";
    
$result mysql_query($mysql,$db);
   }
 
  
$_SESSION['iddetalles'] = $fila2['maxid'];
 
  echo 
"<script> location.href='altaempre_2.php'</script>";
 
  }
 
  else
  {
   echo
"<script>alert(\"El Título de la Empresa ya existe!\")</script>";
   echo
"<script>location.href='altaempre.php'</script>";
  }


pero no continua con el formulario, algo pasa cuando entra al segundo if de $cont2, esto pasa cuando agrego dos asesores externos y dos internos y la validacion se pierde con el ultimo asesor, se queda en blanco la pag, no marca error y no guarda.

en vista de q no pude con ninguna de las dos formas, no se q estoy haciendo mal, tambien me comentaron y he visto en una revista de users.code como funciona exactamente el constructor del objeto XHMLHttp de AJAX

PREGUNTAS:
¿¿¿puedo utilizar ese constructor del ajax para concocer q navegador uso y dependiendo de eso, utilizo la primera fiuncion q he escrito arriba??

¿¿¿seria algo asi??? ¿¿¿¿es correcto???

Código HTML:
function crearObjetoXMLHttp()
{
 if(typeof XMLHttpRequest != "undefined")
 {
  return new XMLHttpRequest();
 }
 else if (window.ActiveXObject)
 {
  var mtVersion = ["MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHttp"];
  for (var i=0; i< mtVersion.length;i++)
  {
   try
   {
    var objXmlHttp = new ActiveXObject(mtVersion[i]);
    return objXmlHttp;
   }
   catch(objError){
   }
  }
 }
 throw new Error("El objeto XMLHttp no pudo crearse.");
}
<br>
<br>
var objajax = crearObjetoXMLHttp();
   alert(objajax);
   if(objajax=="[object]")
   alert("EL NAVEGADOR ES EXPLORER");

y por utlimo

¿¿¿que hay de utilizar otro script??? he visto en las FAQS q tienen un en php,


que hago??? algun comentario, ayuda, lo q sea!!, estoy mal en mi funcion?? lo hago por ajax?? estoy mal en la validacion donde guardo???

de antemano gracias por tomarse el tiempo de leer.
__________________
Lo unico constante es el cambio
andresq está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 06:31.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

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 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93