Foros del Web » Programando para Internet » Javascript »

Validar form. generado por Ajax desde ventana Padre

Estas en el tema de Validar form. generado por Ajax desde ventana Padre en el foro de Javascript en Foros del Web. Buenas a todos. Aqui nuevamente buscando solución a algo que me ha quedado grande de nuevo y como siempre, esperando que algun alma bondadosa se ...
  #1 (permalink)  
Antiguo 25/03/2008, 14:19
Avatar de zick  
Fecha de Ingreso: mayo-2007
Ubicación: Los Angeles - Chile
Mensajes: 168
Antigüedad: 17 años
Puntos: 2
Pregunta Validar form. generado por Ajax desde ventana Padre

Buenas a todos.

Aqui nuevamente buscando solución a algo que me ha quedado grande de nuevo y como siempre, esperando que algun alma bondadosa se apiade de mi..

El tema es que tengo un formulario el cual ingreso un dato X. Con la propiedad onchange, llamo a una funcion ajax que me carga el resultado dentro de un div, y el resultado es un formulario que, si coincide el valor del cuadro con una consulta, se completa automáticamente con los datos existente, si no, muestra el form. en blanco. Todo bien hasta aca, salvo cuando quiero verificar que el formulario se haya completado como corresponda, ya que no puedo crear una funcion javascript que me lo permita.

Alguien se le ocurre que hacer en estos casos???

Salud!! y porfa.. apiadense de mi!!!
  #2 (permalink)  
Antiguo 10/06/2008, 14:33
 
Fecha de Ingreso: mayo-2008
Mensajes: 11
Antigüedad: 16 años
Puntos: 0
Respuesta: Validar form. generado por Ajax desde ventana Padre

Hola!

Resulta que tengo el mismo problema...

tengo lo siguiente, de una lista de selección en la pagina1.php, el usuario seleccionará un dato a modificar y por medio del ajax.php, me carga un formulario con todos los datos asociados a la BD que tenga el dato seleccionado, al momento de retornarme los datos desde el ajax, puedo tomarlos y validarlos y generar un mensaje de error de una manera simple, pero deseo que dicho error me lo resalte debajo de cada campo en el que se falla, sin salir del formulario, cosa que no logro.

en codigo tengo algo así:

mecliente.php - es la pagina de donde se llamará el ajax

<?php
session_start();
$clie=$_SESSION['cliente'];
$grup=$_SESSION['grupo'];
$cont=$_SESSION['contrato'];
$campo=$_SESSION['campop'];

$obj= new interfaz();
$obj->amgsup($dom1,$clie,$cont,$campo,$_SESSION['login']);
$db1= new DBase();
?>
<html>
<head>
<title>.: Modificar Cliente :.</title>
<script language="JavaScript" type="text/JavaScript">
function MM_reloadPage(init)
{ //reloads the window if Nav4 resized
if (init==true) with (navigator)
{
if ((appName=="Netscape")&&(parseInt(appVersion)==4))
{
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage;
}
}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH)
location.reload();
}
MM_reloadPage(true);
allsub = false
function traerInfo(tipo,cod)
{
var http = null;
var strcadena;
var stHtml;
if(window.XMLHttpRequest)
http = new XMLHttpRequest();
else if (window.ActiveXObject)
http = new ActiveXObject("Microsoft.XMLHTTP");
http.onreadystatechange = function()
{
if((http.readyState == 4) && (http.status == 200))
{
strcadena = http.responseText;

if(tipo=="cl_nit")
{
cliente.innerHTML = strcadena;
/*alert(strcadena);*/
}
}
}
if (tipo=="cl_nit")
{/*alert(strcadena);*/
http.open('GET', 'ajax2.php?cl_nit=' + cod, true);
http.send("");
}
}
</script>
<link href="ARCHIVOS/styles.css" rel="stylesheet" type="text/css">
</head>

<body>
<?
function mensaje1()
{
?>
<SCRIPT LANGUAGE="JavaScript">
alert("Se han almacenado los datos!");
</SCRIPT>
<?
}

// Comprobar errores
$error = false;

if (isset($modi))
{
// Dirección
if (trim($cl_direccion) == "")
{
$errores["cl_direccion"] = "Por favor introduzca la Direcci&oacute;n del Cliente";
$error = true;
}
else
$errores["cl_direccion"] = "";
}

if (isset($modi) && $error==false)
{
$psql=$db1->ejecutar("UPDATE `nominaciones`.`cliente`
SET `cl_razon`='$cl_razon',
`cl_direccion`='$cl_direccion',
`cl_idciudad`='$ciud',
`cl_reprelegal`='$cl_reprelegal',
`cl_telefono`='$cl_telefono',
`cl_mail`='$cl_mail',
`cl_fechacreacion`='$cl_fechacreacion'
WHERE `cl_nit`='$cl_nit'");
COMMIT;
mensaje1();
}
else
{
?>
<p align="center" class="titulo">Modificar Cliente</p>
<form name="forma" method="get" onSubmit="return checkSubmit()" ACTION="<?php echo $php_self?>">
<table width="350" align="center" height="200" border=0 cellpadding=1 cellspacing=4 background="ARCHIVOS/cuadro.jpg">
<tr>
<td bordercolor="#FFDB70" class="texto"><p>Cliente:<B>
<select name="cl_nit" onChange="traerInfo(this.name,this.value);" class="texto">
<option value="" selected>Seleccione</option>
<?
$rds4 = $db->ejecutar("select * from `nominaciones`.`cliente` order by `cl_razon` asc");
while($row = mysql_fetch_array($rds4))
{ ?>
<option value="<? echo $row["cl_nit"];?>"><? echo $row["cl_razon"];?></option>
<?
} //mysql_free_result($rds4);
?>
</select>
</B></p>
<B> <div align="left"><span id="cliente" name="cliente"></span> </div>
<!-- <select name="cl_nit" onChange="traerInfo(this.name,this.value);">
<option value="" selected>Seleccione...</option> -->
</td>
</tr>
<tr>
<td bordercolor="#FED83D" align="center">
<INPUT name="modi" class="texto" type=submit value="Modificar" onClick="validar();">
</td>
</tr>
</table>
</form>
<?PHP
if ($errores["cl_direccion"] != "")
print ("<BR><SPAN CLASS='red'>" . $errores["cl_direccion"] . "</SPAN>");
}
?>
</BODY>
</HTML>


ajax2.php


<?
$db1= new DBase();

// Es para traer Datos Clientes
if(isset($_GET['cl_nit']))
{
$rds1 = $db->ejecutar("select * from `cliente` WHERE `cl_nit` = '".$_GET['cl_nit']."'");
while($row = mysql_fetch_array($rds1))
{
$cl_nit = $row["cl_nit"];
$cl_direccion = $row["cl_direccion"];
?>
<table width="721" align="center">
<tr>
<td height="40" bgcolor="#ffffff" bordercolor="#ffffff" class="texto" colspan="4"><strong>Datos del Cliente </strong> </td>
</tr>
<tr>
<td class="texto">NIT:</td>
<td width="300"><input type="text" class="texto" readonly name="cl_nit" size="20" maxlength="20" value="<? echo $cl_nit ?>" /></td>
</tr>
<tr>
<td bordercolor="#ffffff" class="texto" ><p>Direcci&oacute;n:</p></td>
<td bordercolor="#ffffff"><input type="text" class="texto" name="cl_direccion" size="50" maxlength="30" value="<? echo $cl_direccion ?>" onchange="javascript:this.value=this.value.toUpper Case();" />
</td>
</tr>
<? }}
// ---------------------------------------------------------------Fin Clientes
?>
</table>


Una ayudita por favor!!!!
  #3 (permalink)  
Antiguo 10/06/2008, 14:51
 
Fecha de Ingreso: mayo-2008
Mensajes: 11
Antigüedad: 16 años
Puntos: 0
Respuesta: Validar form. generado por Ajax desde ventana Padre

he agregado una nueva modificación al código anterior, el cual hace que me mantenga el formulario con el dato seleccionado al momento de generarse error, este es:

<script>
cl_nit_value = <? echo $cl_nit?>;
traerInfo('cl_nit',cl_nit_value);
</script>

lo puse en mecliente.php, en la línea después de:

</table>
</form>

y antes de:

<?PHP
if ($errores["cl_direccion"] != "")
print ("<BR><SPAN CLASS='red'>" . $errores["cl_direccion"] . "</SPAN>");
}
?>

ahí vamos, por partes!
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 19:11.