[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