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

Respuesta
 
Herramientas Desplegado
Antiguo 25-mar-2008, 14:19   #1 (permalink)
zick tiene algunos puntos positivos de karma
 
Avatar de zick
 
Fecha de Ingreso: mayo-2007
Mensajes: 129
Enviar un mensaje por MSN a zick
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!!!
zick está desconectado   Responder Citando
Antiguo 10-jun-2008, 14:33   #2 (permalink)
cccardenaso ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2008
Mensajes: 5
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!!!!
cccardenaso está desconectado   Responder Citando
Antiguo 10-jun-2008, 14:51   #3 (permalink)
cccardenaso ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2008
Mensajes: 5
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!
cccardenaso 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 16:53.


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