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

problema con submit en XAJAX

Estas en el tema de problema con submit en XAJAX en el foro de Frameworks JS en Foros del Web. hola que tal espero me puedan ayudar tengo el siguiente programa: tengo un formulario donde cargo la informacion y la valido con xajax, pa explicarles ...
  #1 (permalink)  
Antiguo 01/12/2008, 10:13
Avatar de pepeverastegui  
Fecha de Ingreso: septiembre-2008
Ubicación: Pedernales, Michoacan
Mensajes: 82
Antigüedad: 16 años, 2 meses
Puntos: 2
problema con submit en XAJAX

hola que tal espero me puedan ayudar tengo el siguiente programa:

tengo un formulario donde cargo la informacion y la valido con xajax, pa explicarles rapido funciona de la siguiente manera tengo 9 campos, los cuales tengo que validar que la informacion que sea introducida en 8 de ellos exista en las bases de datos y mediante xajax y php hago consultas para verificar su existencia, el boton de submit permanece deshabilitado hasta qeu todos los campos sean llenados correctamente.

mi problema es que al hacer la funcion del paso de valores del xajax no me manda valores me deja en blanco ahi les dejo mi codigo espero me puedan ayudar y espero me hallan entendido

Código PHP:
<?php
require_once("xajax_core/xajax.inc.php");
include(
"conexion.php");

$res_config mysql_query("select * from config");
$row_config mysql_fetch_object($res_config);
$orden $row_config->orden;

$xajax = new xajax();

$xajax->registerFunction("frente");
$xajax->registerFunction("clave");
$xajax->registerFunction("ciclo");
$xajax->registerFunction("variedad");
$xajax->registerFunction("riego");
$xajax->registerFunction("superficie");
$xajax->registerFunction("toneladas");
$xajax->registerFunction("verificar");
$xajax->registerFunction("envio");
function 
frente($fre)
{
   
$objResponse = new xajaxResponse();
   
$res_fre mysql_query("select * from maecoc where FRENTE='$fre'");
   if(
$row_fre mysql_fetch_object($res_fre))
   {
      
$frente "<b>" $row_fre->NOMBRE_COC;
      
$objResponse->assign("frente","innerHTML"$frente);
      
$objResponse->script("sig = 'lot'; c2=true; u=''; d='lot'");
   }
   else
   {
      
$objResponse->assign("frente","innerHTML""<b>NO EXISTE</b>");
      
$objResponse->script("sig = ''; c2=false; u=''; d=''");
   }
   return 
$objResponse;  
}
function 
clave($cla)
{
   
$objResponse = new xajaxResponse();
   
$res_cla mysql_query("select NOMBRE, PATERNO, MATERNO from claves where CLAVE='$cla'");
   if(
$row_cla mysql_fetch_object($res_cla))
   {
      
$clave "<b>" $row_cla->NOMBRE " " $row_cla->PATERNO " " $row_cla->MATERNO;
      
$objResponse->assign("clave","innerHTML"$clave);
      
$objResponse->script("sig = 'cic'; c4=true; u='lot'; d='cic'");
   }
   else
   {
      
$objResponse->assign("clave","innerHTML""<b>NO EXISTE</b>");
      
$objResponse->script("sig = ''; c4=false; u=''; d=''");
   }
   return 
$objResponse;  
}
function 
ciclo($cic)
{
   
$objResponse = new xajaxResponse();
      
$objResponse->script("sig = 'var'; c5=true; u='cve'; d='var'");
   if(
$cic == "P")
      
$objResponse->assign("ciclo","innerHTML""<b>Plantilla</b>");
   elseif(
$cic == "S")
      
$objResponse->assign("ciclo","innerHTML""<b>Socas</b>");
   elseif(
$cic == "R")
      
$objResponse->assign("ciclo","innerHTML""<b>Resocas</b>");
   else
   {
      
$objResponse->assign("ciclo","innerHTML""<b>Ciclo Invalido</b>");
      
$objResponse->script("sig = ''; c5=false; u=''; d=''");
   }
   return 
$objResponse;
}
function 
variedad($var)
{
   
$objResponse = new xajaxResponse();
   
$res_var mysql_query("select VARIEDAD, DESCRIP from variedad where VARIEDAD='$var'");
   if(
$row_var mysql_fetch_object($res_var))
   {
      
$variedad "<b>" $row_var->VARIEDAD " " $row_var->DESCRIP;
      
$objResponse->assign("variedad","innerHTML"$variedad);
      
$objResponse->script("sig = 'rot'; c6=true; u='cic'; d='rot'");
   }
   else
   {
      
$objResponse->assign("variedad","innerHTML""<b>NO EXISTE</b>");
      
$objResponse->script("sig = ''; c6=false; u=''; d=''");
   }
   return 
$objResponse;
}
function 
riego($rgo)
{
   
$objResponse = new xajaxResponse();
   
$objResponse->script("sig = 'sup'; c7=true; u='var'; d='sup'");
   if(
$rgo != "1" && $rgo != "2" && $rgo != "3")
      
$objResponse->script("sig = ''; c7=false; u=''; d=''");
   return 
$objResponse;
}
function 
superficie($sup)
{
   
$objResponse = new xajaxResponse();
   
$valor doubleval($sup);
   
$objResponse->script("sig = 'ton'; c8=true; u='rot'; d='ton'");
   if(
$valor == 0)
   {
      
$objResponse->script("sig = ''; c8=false; u=''; d=''");
   }
   return 
$objResponse;  
}
function 
toneladas($ton)
{
   
$objResponse = new xajaxResponse();
   
$valor doubleval($ton);
   
$objResponse->script("sig = 'btn1'; c9=true; u='sup'; d='btn1'");
   if(
$valor == 0)
   {
      
$objResponse->script("sig = ''; c9=false; u=''; d=''");
   }
   return 
$objResponse;  
}
function 
verificar()
{
   
$objResponse = new xajaxResponse();
   
$objResponse->script("if((c2==true) && (c3==true) && (c4==true) && (c5==true) && (c6==true) && (c7==true) && (c8==true) && (c9==true)){ xajax.$('btn1').disabled=false; } else { xajax.$('btn1').disabled=true;}"); 
   return 
$objResponse;  
}

// en esta funcion es donde se deben obtener los datos del formulario para la carga de informaicon ala base de datos
function envio($formData)
{
   
$clave $formData['cve'];
   
$ciclo $formData['cic'];
   
$superficie $formData['sup'];
   
$tonelada $formData['ton'];
   
$riego $formData['rot'];
   
$frente $formData['com'];
   
$lote $formData['lot'];
   
$orden $formData['ord'];
   
$variedad $formData['var'];
   
$objResponse = new xajaxResponse();
   
mysql_query("insert into estimado(CLAVE,LOTE,FRENTE,VARIEDAD,CICLO,HAS,TON,ORDEN,ROT) values('$clave', '$lote', '$frente', ' $variedad', '$ciclo', '$superficie', '$tonelada', '$orden', '$riego')");
   
$objResponse->assign("prueba","innerHTML""Los datos fueron insertados");
   return 
$objResponse;  
}
$xajax->processRequest();
mysql_close($db);
?>

<html>
<head>
<title>ESTIMADO CAÑA LIBRE</title>

<?php $xajax->printJavascript(); ?>

<script language="javascript" type="text/javascript">

sig = "";
u = "";
d = "";
c2 = false;
c3 = true;
c4 = false;
c5 = false;
c6 = false;
c7 = false;
c8 = false;
c9 = false;
function Teclapulsada(e) 
{
   if(window.event != null)
      tecla = window.event.keyCode;
   else if (e != null)
      tecla = e.which;
   if(tecla == 13)
   {
      eval('document.f1.' + sig + '.focus()')
      return false
   }
   if(tecla == 38)
   {
      eval('document.f1.' + u + '.focus()')
      return false
   }
   if(tecla == 40)
   {
      eval('document.f1.' + d + '.focus()')
      return false
   }
}
document.onkeydown = Teclapulsada;
if (document.captureEvents)
    document.captureEvents(Event.KEYDOWN)
</script>

</head>
<body onload="if(document.f1.com){document.f1.com.focus();}">
<table align=left>
<tr><td colspan=2 align=center><b>CAPTURA DE MOVIMIENTO
<tr><td colspan=2 align=center><b>CAÑA LIBRE
<form id="f1" name="f1" method="get" action=est_lib.php>
<tr><td>Orden de Corte:<td><input type=text id=ord name=ord value="<?= $orden ?>" readonly>
<tr><td>Comite de Operacion:<td><input type=text id="com" name="com" maxlength=3 onkeyup="xajax_frente(this.value); xajax_verificar();" onfocus="com.select();"><td><div id=frente></div>
<tr><td>Lote:<td><input type=text id=lot name=lot onfocus="lot.select(); sig='cve'; u='com'; d='cve';">
<tr><td>Clave:<td><input type=text id="cve" name="cve" maxlength=8  onkeyup="xajax_clave(this.value); xajax_verificar();" onfocus="cve.select();"><td><div id=clave></div>
<tr><td>Ciclo [P,S,R]:<td><input type=text id=cic name=cic maxlength=1 onkeyup="javascript:{this.value = this.value.toUpperCase(); } xajax_ciclo(this.value); xajax_verificar();" onfocus="cic.select();"><td><div id=ciclo></div>
<tr><td>Variedad:<td><input type=text id=var name=var maxlength=2 onkeyup="xajax_variedad(this.value); xajax_verificar();" onfocus="var.select();"><td><div id=variedad></div>
<tr><td>Regimen [1,2,3]:<td><input type=text id=rot name=rot maxlength=1 onkeyup="xajax_riego(this.value); xajax_verificar();" onfocus="rot.select();">
<tr><td>Superficie:<td><input type=text id=sup name=sup maxlength=5 onkeyup="xajax_superficie(this.value); xajax_verificar();" onfocus="sup.select();">
<tr><td>Toneladas:<td><input type=text id=ton name=ton maxlength=7 onkeyup="xajax_toneladas(this.value); xajax_verificar();" onfocus="ton.select();">
<tr><td colspan=2 align=center><input type=button onclick="xajax_envio(xajax.getFormValues('f1'));" id=btn1 name=btn1 disabled value="Guardar" onfocus="u='ton'; d='';">
</form>
</table>
<div id=prueba></div>
</body>
</html>
si me inserta pero ps espacios en blanco
  #2 (permalink)  
Antiguo 01/12/2008, 11:53
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: problema con submit en XAJAX

Tema trasladado a AJAX.
  #3 (permalink)  
Antiguo 01/12/2008, 14:23
 
Fecha de Ingreso: noviembre-2008
Mensajes: 62
Antigüedad: 16 años
Puntos: 2
Respuesta: problema con submit en XAJAX

Parece que te falta $link, te cuento que yo resolvi un problema con ajax con la funcion que te mando
Prueba con una conexion algo como esto:

function conectarse(){
if (!($link=mysql_connect("localhost","root",""))){
exit();
}
if (!mysql_select_db("base",$link)){
exit();
}
return $link;
}

$link = conectarse();

y en los querys ponle el $link es decir:
$res_fre = mysql_query("select * from maecoc where FRENTE='$fre'",$link);

Pararece que te falta las comillas en las etiquetas del form.
Suerte!!!
  #4 (permalink)  
Antiguo 01/12/2008, 16:11
Avatar de pepeverastegui  
Fecha de Ingreso: septiembre-2008
Ubicación: Pedernales, Michoacan
Mensajes: 82
Antigüedad: 16 años, 2 meses
Puntos: 2
Respuesta: problema con submit en XAJAX

muchas gracias por tu respuesta pero no era eso, ya resolvi el error que tenia

aunque tambien como tu dices funciona pero ponerle el link (o segundo parametro) alos query's es opcional cuando tienes mas de un servidor conectado y con eso le indicas el query hacia que servidor hara la peticion. yo como tengo una sola conexion lo manda automaticamente a la conexion que esta abierta

mi problema estaba en que declare un input llamado var y el problema es que var es una palabra reservada de javascript, cosa que yo no me acorde hasta que verefique el codigo como 5 veces

pero de todos modos muchas gracias
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 20:00.