[Php-avanzado] consulta javascript
Matias Gea
matigea en gmail.com
Dom Abr 14 17:25:12 ART 2013
Bueno, encontré dos errores (tres, técnicamente) en el Javascript que hace
que te falle la función. Primero la línea donde definís la regex, que te
falta "decirle" que es una regex, ahora es:
var valid1 = ^\d+$;
cuando debería ser:
var valid1 = /^\d+$/; // Faltaban las barras
También, en las dos últimas líneas dice:
documentgetElementById("descripcion").value = descripcion;
documentgetElementById("precio").value = precio;
y debería decir:
document.getElementById("descripcion").value = descripcion; // Faltaban
los puntos
document.getElementById("precio").value = precio;
Cualquier cosa avisame.
Saludos!
El 13 de abril de 2013 10:46, Damián Colledani
<damian_colledani en yahoo.com>escribió:
> Acá te mando el script. Como siempre gracias viejo. Despues te quería
> consultar por el módulo de Barcode para el tratamiento del código de barras
> que complementa este trabajo.
> Salu2
>
>
> --- 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, 15:51
>
>
> Antes te debe tirar algun otro error de js, que hace que la funcion no se
> defina. Pasá el código completo de la página (html y js) y te digo.
>
> Saludos!
>
>
> El 12 de abril de 2013 11:35, Damián Colledani <damian_colledani en yahoo.com<http://mc/compose?to=damian_colledani@yahoo.com>
> > escribió:
>
> 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<http://mc/compose?to=matigea@gmail.com>
> >* escribió:
>
>
> De: Matias Gea <matigea en gmail.com <http://mc/compose?to=matigea@gmail.com>
> >
> Asunto: Re: [Php-avanzado] consulta javascript
> Para: "Lista del curso de PHP Avanzado" <php-avanzado en pato2.fi.mdp.edu.ar<http://mc/compose?to=php-avanzado@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<http://mc/compose?to=damian_colledani@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<http://mc/compose?to=matigea@gmail.com>
> >* escribió:
>
>
> De: Matias Gea <matigea en gmail.com <http://mc/compose?to=matigea@gmail.com>
> >
>
> Asunto: Re: [Php-avanzado] consulta javascript
> Para: "Lista del curso de PHP Avanzado" <php-avanzado en pato2.fi.mdp.edu.ar<http://mc/compose?to=php-avanzado@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<http://mc/compose?to=damian_colledani@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<http://mc/compose?to=leonardot@pegasusnet.com.ar>
> >* escribió:
>
>
> De: Leonardo Tadei - Pegasus Tech Supply <leonardot en pegasusnet.com.ar<http://mc/compose?to=leonardot@pegasusnet.com.ar>
> >
> Asunto: Re: [Php-avanzado] consulta javascript
> Para: "Lista del curso de PHP Avanzado" <php-avanzado en pato2.fi.mdp.edu.ar<http://mc/compose?to=php-avanzado@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://mc/compose?to=Php-avanzado@pato2.fi.mdp.edu.ar>
> > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>
> --
> Leonardo Tadei
> leonardot en pegasusnet.com.ar<http://mc/compose?to=leonardot@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://mc/compose?to=Php-avanzado@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://mc/compose?to=Php-avanzado@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://mc/compose?to=matigea@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://mc/compose?to=Php-avanzado@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://mc/compose?to=Php-avanzado@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://mc/compose?to=matigea@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://mc/compose?to=Php-avanzado@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://mc/compose?to=Php-avanzado@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://mc/compose?to=matigea@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://mc/compose?to=Php-avanzado@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
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://www3.fi.mdp.edu.ar/pipermail/php-avanzado/attachments/20130414/388ddcc3/attachment-0001.html>
Más información sobre la lista de distribución Php-avanzado