[Php-avanzado] consulta javascript

Damián Colledani damian_colledani en yahoo.com
Vie Abr 12 11:35:05 ART 2013


Hola, Matías. Puse tu función directamente, el hecho es que me sigue tirando Uncaught ReferenceError: rellena is not defined no se que puede ser. que hago mal?
--- El vie 12-abr-13, Matias Gea <matigea en gmail.com> escribió:

De: Matias Gea <matigea en gmail.com>
Asunto: Re: [Php-avanzado] consulta javascript
Para: "Lista del curso de PHP Avanzado" <php-avanzado en pato2.fi.mdp.edu.ar>
Fecha: viernes, 12 de abril de 2013, 13:07

Hola, Damián.
Me pasaste 4 funciones distintas, no sé por qué.

Te paso una que debería funcionar, con un par de modificaciones. Con respecto a jQuery, sí, es muy útil, pero tenés que ver si vale la pena cargar un framework de 100k sólo para hacer lo mismo que con document.getElementById.



Va la función sin jQuery:

// Calculo que llamaste a la función a través del atributo onchange del input con "rellena(this.value)"

function rellena(codigo){
   // En a tenemos un string que representa el valor del input desde el que se llama la función.



   // var o , u;  // Los nombres son muy poco representativos :-) te los cambio
   var descripcion, precio;
   var valid1 = ^\d+$;
   // document.write("parametro"+a);
   // document.write('<br>');  // Esta es una forma bastante incómoda de hacer debug, fijate la de abajo



   console.log('Codigo en el input: ', codigo); // Esto te muestra un mensaje en la consola de javascript   // Si usás Chrome, visualizás la consola con Ctrl+Shift+J o F12, si usás Firefox igual (si no me equivoco), pero te recomiendo instalar firebug.


   if (valid1.test(codigo)){
      console.log('El código es valido');
<?php
   include ("conecta.php");
   $result = mysql_query("SELECT * FROM productos ", $link) or die("$sql <br>".mysql_error());


   while ($row = mysql_fetch_array($result)){
?>
      if (codigo == '<?php echo $row['codigo'];?>' ) {
         descripcion = "<?php echo $row['descripcion'];?>";


         precio = "<?php echo $row['precio'];?>";
         break;
      } 
<?php } ?>
   }else{
      console.log('El código NO es valido');

      alert('Solo Numeros por favor...');


   }
   documentgetElementById("descripcion").value = descripcion;
   documentgetElementById("precio").value = precio;
}

Cualquier cosa avisame.


Saludos!

El 12 de abril de 2013 07:48, Damián Colledani <damian_colledani en yahoo.com> escribió:


Hola Matias. Logre ver por consola que la consulta a BD se hace bien. Vi por ahi que jquery es mas elegido para estos casos algo intenté pero la funcion no anda me quedo asi

<script LANGUAGE="text/javascript">function rellena(a){	<!--

	var o , u	var valid1 = ^\d+$;	document.write("parametro"+a);

	document.write('<br>');	if (valid1.test(a.value)){

		<?php		include ("conecta.php");		

		$result = mysql_query("SELECT * FROM productos ", $link) or die("$sql <br>".mysql_error());		while ($row = mysql_fetch_array($result)){?>

			if (a.value == <?php echo $row['codigo'];?>) {				o = "<?php echo $row['descripcion'];?>";

				u = "<?php echo $row['precio'];?>";				break;

////Aca se asignan bien las variables			} 	<?php } ?>


	}else{		alert('Solo Numeros por favor...');	}

		documentgetElementById("descripcion").value = o;

	<script LANGUAGE="text/javascript">function rellena(a){	<!--

	var o
 , u	var valid1 = ^\d+$;	document.write("parametro"+a);

	document.write('<br>');	if (valid1.test(a.value)){

		<?php		include ("conecta.php");		

		$result =
 mysql_query("SELECT * FROM productos ", $link) or die("$sql <br>".mysql_error());		while ($row = mysql_fetch_array($result)){?>

			if (a.value == <?php echo $row['codigo'];?>) {				o = "<?php echo $row['descripcion'];?>";

				u = "<?php echo $row['precio'];?>";				break;

			} 	<?php } ?>	}else{

		alert('Solo Numeros por favor...');	}	

	$('#descripcion').val(o);	$('#precio').val(u);

}//--></script><script LANGUAGE="text/javascript">

function rellena(a){	<!--	var o , u	var valid1 = ^\d+$;

	document.write("parametro"+a);	document.write('<br>');	if (valid1.test(a.value)){

		<?php		include ("conecta.php");				$result = mysql_query("SELECT * FROM productos ", $link) or die("$sql <br>".mysql_error());

		while ($row = mysql_fetch_array($result)){?>			if (a.value == <?php echo $row['codigo'];?>) {

				o = "<?php echo $row['descripcion'];?>";				u = "<?php echo $row['precio'];?>";

				break;			} 	<?php } ?>	}else{

		alert('Solo Numeros por favor...');	}		$('#descripcion').val(o);

	$('#precio').val(u);}//--></script><script LANGUAGE="text/javascript">

function rellena(a){	<!--	var o , u	var valid1 = ^\d+$;

	document.write("parametro"+a);	document.write('<br>');	if (valid1.test(a.value)){

		<?php		include ("conecta.php");				$result = mysql_query("SELECT * FROM productos ", $link) or die("$sql <br>".mysql_error());

		while ($row = mysql_fetch_array($result)){?>			if (a.value == <?php echo $row['codigo'];?>) {

				o = "<?php echo
 $row['descripcion'];?>";				u = "<?php echo $row['precio'];?>";				break;

			} 	<?php } ?>	}else{		alert('Solo Numeros por favor...');

	}		documentgetElementById("descripcion").value = o;

	documentgetElementById("precio").value =
 o;///aca ya no se asigna nada}//--></script>Como veras estoy necesitando que los textbox descripcion y precio se completen dinamicamente, no saleeeeeee, ayudaaaaaa

Gracias


--- El jue 11-abr-13, Matias Gea <matigea en gmail.com> escribió:



De: Matias Gea <matigea en gmail.com>


Asunto: Re: [Php-avanzado] consulta javascript
Para: "Lista del curso de PHP Avanzado" <php-avanzado en pato2.fi.mdp.edu.ar>


Fecha: jueves, 11 de abril de 2013, 4:15

Hola, Damián.
Los errores de sintaxis en el javascript generado son por que hacés asignaciones sin valor, por ej:


o.value = ;


Para evitarlo, deberías encerrar con comillas los valores:


if (a == '<?php echo $row["codigo"]; ?>') {
   o.value = '<?php echo $row["descripcion"]'; ?>
   u.value = '<?php echo $row["precio"]'; ?>




} 


Saludos!
El 10 de abril de 2013 23:34, Damián Colledani <damian_colledani en yahoo.com> escribió:






Genial Gracias!!! pero me sigue tirando la consola que no está definida la funcion. Evidentemente siguen los problemas de sintaxis que no veo



el Ctrl-u me da lo siguiente: y no lo se interpretar correctamente. Me lo explicas?
/////////////<script LANGUAGE="text/javascript">
function rellena(a){
	var o,u
			if (a == ) {
		o.value = ;
		u.value = ;
			
		} 
				if (a == ) {
		o.value = ;
		u.value = ;
			
		} 
			document.getElementById("descripcion").value = o.value;
	document.getElementById("precio").value = u.value;
}
</script>
Gracias
--- El mié 10-abr-13, Leonardo Tadei - Pegasus Tech Supply <leonardot en pegasusnet.com.ar> escribió:





De: Leonardo Tadei - Pegasus Tech Supply <leonardot en pegasusnet.com.ar>




Asunto: Re: [Php-avanzado] consulta javascript
Para: "Lista del curso de PHP Avanzado" <php-avanzado en pato2.fi.mdp.edu.ar>


Fecha: miércoles, 10 de abril de 2013, 16:20



Hola Damián,

    el error se debe estar dando porque la función JS que generás en PHP
tiene errores de sintaxis.
    Para verlos, fijate en el código HTML generado (Ctrl+u) y ahí vas a ver




la función que te
 queda.
    Si no veo mal, las líneas adentro del if no terminan con ; en JS.
    También parece haber un error semántico, porque a las variables o,u les
asignás un valor como "value", pero después a los value de los elementos




DOM se las asignás sin el value.

    La función JS que veas en el fuente, la podés ejecutar en la consola
del navegador y ver qué arroja.

El mié, 10-04-2013 a las 06:54 -0700, Damián Colledani escribió:




> Disculpen la molestia pero la consola de error de navegador me da
> error y no me puedo dar cuenta cual es, si me ayudan les agradezco:
> 
> 
> /////////Funcion
> <script LANGUAGE="text/javascript">




> function rellena(a){
> var o,u
> var a
> <?php
> include ("conecta.php"); 
> $result = mysql_query("SELECT * FROM productos ", $link) or die("$sql
>
 <br>".mysql_error());
> while ($row = mysql_fetch_row($result)){?>
> if (a == <?php echo $row["codigo"]; ?>) {
> o.value = <?php echo $row["descripcion"]; ?>




> u.value = <?php echo $row["precio"]; ?>
> 
> } 
> <?php
> } ?>
> document.getElementById("descripcion").value = o;
> document.getElementById("precio").value = u;




> }
> </script>
> ////////la llamo asi
> <input type="text" id="codigo" name="codigo" size="10" value=""
> onchange="rellena(this.value)" />




> Gracias
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar




> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado

-- 
Leonardo Tadei
leonardot en pegasusnet.com.ar




Web: http://leonardo.tadei.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key





_______________________________________________
Php-avanzado mailing list
Php-avanzado en pato2.fi.mdp.edu.ar
http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado





_______________________________________________

Php-avanzado mailing list

Php-avanzado en pato2.fi.mdp.edu.ar

http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado





-- 


Matias Fernando Gea
matigea en gmail.com
http://www.mfgea.com.ar


-----Adjunto en línea a continuación-----

_______________________________________________
Php-avanzado mailing list
Php-avanzado en pato2.fi.mdp.edu.ar


http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
_______________________________________________



Php-avanzado mailing list

Php-avanzado en pato2.fi.mdp.edu.ar

http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado



-- 


Matias Fernando Gea
matigea en gmail.com
http://www.mfgea.com.ar


-----Adjunto en línea a continuación-----

_______________________________________________
Php-avanzado mailing list
Php-avanzado en pato2.fi.mdp.edu.ar
http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://www3.fi.mdp.edu.ar/pipermail/php-avanzado/attachments/20130412/47c1c292/attachment-0001.html>


Más información sobre la lista de distribución Php-avanzado