Foros del Web » Programando para Internet » Javascript »

Pasar valores a una funcion y de ahí a PHP

Estas en el tema de Pasar valores a una funcion y de ahí a PHP en el foro de Javascript en Foros del Web. Hola: Tengo est eproblema: Tengo un formulario que es donde meto todo lo relacionado con el carrito de compra, tengo un boton en donde en ...
  #1 (permalink)  
Antiguo 06/08/2007, 19:29
 
Fecha de Ingreso: marzo-2007
Mensajes: 163
Antigüedad: 17 años, 1 mes
Puntos: 0
Pregunta Pasar valores a una funcion y de ahí a PHP

Hola:

Tengo est eproblema:

Tengo un formulario que es donde meto todo lo relacionado con el carrito de compra, tengo un boton en donde en el evento onclick tiene una funcion osea si:
Código HTML:
<input type="button" name="quitar" value="Quitar" onClick="Quitar()"> 
y quiero que al momento de dar clic en ese botón me envie a la funcion Quitar pero no lo hace, ademas no se si puedo tomar valores de un seelct y enviarlos a la funcion Quitar,ese select seria independiente del botón q utilizo para la funcion. Y también no se si puedo pasar valores de JavaScript a PHP.

En el formulario le especifico que utilizaré javascript:
Código HTML:
 <form LANGUAGE="JavaScript" action="carrocomp.php" method="post" name="carro" id="carro"> 
Espero haberme dado a entender y que me ayuden....
  #2 (permalink)  
Antiguo 07/08/2007, 06:01
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: Pasar valores a una funcion y de ahí a PHP

Vamos por partes.
¿qué dice la consola de errores? (porque imagino que estás usando una, verdad? la de Firefox o la de Opera)
¿la función es Quitar() o quitar()? NO son lo mismo.

Cualquier javascript puede acceder a cualquier elemento de la página, por lo que lo único que necesitás es darle al select un id, y luego accederlo con getElementById().

En cuanto al paso de variables, tenés varias soluciones posibles:
1.- modificar el action del formulario, para pasarle variables:

form.action = "pagina.php?var1" + variable;

2.- poner campos ocultos, cuyo valor completás con javascript


3.- ... alguna otra que seguro me olvido.


Espero te sirva, como siempre: para más detalles, hacé una pregunta más detallada.


Saludos
  #3 (permalink)  
Antiguo 07/08/2007, 16:43
 
Fecha de Ingreso: marzo-2007
Mensajes: 163
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Pasar valores a una funcion y de ahí a PHP

Hola:

Utilizo el WAMP5, y no me manda algún error simplemente no hace nada la función.

La función se llama Quitar() .

Como le hago para pasar lo q contenga una variable de php a una de javascript? Tengo este código q como verás en el en el value del select tengo codigo de php y quiero q el valor q sea seleccionado lo envíe a la funcion Quitar(), tengo otro select q quiero q haga lo mismo pero no se como pasar ese valor a la función porque uno es codigo php y otro es javascript.

Código PHP:
 <?php $res="SELECT id_art,nom_art FROM carro_compra Where e_mail='$email' AND fecha='$fec'";
                     
$resquery=mysql_query($res,$link) or die(mysql_error()); //echo mysql_num_rows($resquery).$rescons;
                     
$numreg=mysql_num_rows($resquery);
                          if(
$numreg!=0)
                            {
                            while(
$filas=mysql_fetch_array($resquery))
                                 {                                                         
                
?>
                <option value="<?php echo $_SESSION['id']=$filas['id_art']; ?>"><?php echo $_SESSION['nombre']=$filas['nom_art']; }}?> </option> ?>

Última edición por Nantcy; 07/08/2007 a las 17:20 Razón: faltó información por agregar
  #4 (permalink)  
Antiguo 07/08/2007, 19:56
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: Pasar valores a una funcion y de ahí a PHP

No se puede "pasar" los valores de PHP a javascript, simplemente porque PHP se ejecuta en el servidor, antes de enviar la página, y javascript se ejecuta en el cliente, cuando la página se recibió. Por lo tanto, no pueden interactuar.

Sabiendo eso, y sabiendo también que el javascript puede ser parte del texto que PHP produce, la forma más sencilla de tener en Javascript un valor de PHP es hacer algo como esto:

<script type="text/javascript">
[código]

var valor1 = "<?php echo $valor1; ?>";

[más código]
</script>

La línea con el PHP, una vez creada la página, queda como

var valor1 = "Hola";
(suponiendo obviamente que "Hola" sea el valor de $valor1)


Ya directo a la pregunta concreta:
Si no entendí mal, lo que querés es que cuando se selecciona un valor y se presiona un botón, se llame a Quitar(), ¿verdad?

Yo lo haría así:
Al select le pongo un id="lista", y luego en la función Quitar(), simplemente hago:

var lista = document.getElementById("lista");
var valor_lista = lista.value;

o, dependiendo de lo que necesites,

var seleccionado = lista.selectedIndex;

O sea, podés escribir la lista con PHP sin necesidad de incluir Javascript, ya que perfectamente podés identificarla por su atributo id.

Si esta solución no te sirve, por favor da más detalles del funcionamiento del sistema.

Un comentario más: tené en cuenta (quizás ya lo estás teniendo en cuenta) que en tu código $_SESSION['id'] se asigna al valor de $filas['id_art'] en cada iteración del while, pero solo conservará el valor de la última asignación. Lo mismo pasa con $_SESSION['nombre'].


Saludos y suerte
  #5 (permalink)  
Antiguo 08/08/2007, 18:04
 
Fecha de Ingreso: marzo-2007
Mensajes: 163
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Pasar valores a una funcion y de ahí a PHP

Hola:

Estuve intentando hacerlo como me asesoraste pero creo que al momento de dar clic al botón de quitar no funciona, porque en la funcion no me manda un mensaje sino se cumplia la condicion del if.

Código:
<script language="javascript"> 
function Quitar()
{
 var art1=document.getElementbyId("idart");
 var art_costo1=idart.value;
 var art2=document.getElementbyId("id");
 var art_costo2=idart.value; 
   if(art_costo1 == art_costo2)
     {
</script>			  
		<?php
			   $arti=$_POST['artic'];
			   $sacar="SELECT precio FROM carro_compra WHERE id_art='$arti'";
			   $precact="SELECT SUM(precio)-$sacar FROM carro_compra WHERE id_Art='$arti'";
			   $numreg-=1;
			   $quitar="DELETE FROM carro_compra WHERE id_art='$arti'";			   
      // echo "<META HTTP-EQUIV='Refresh' CONTENT=0 URL='$PHP_SELF'>"; 	
	  ?> 
<script language="JavaScript">
	   }
	    else
		 {
		   alert('El Artículo y el Precio del mismo NO Coinciden -- "Verifíquelo"');
		 }  
 }	   
</script>
El codigo para poner el botón es este:
Código HTML:
<input type="button" name="quitar" value="Quitar" onClick="Quitar()"> 
y los valores que toman las variables en javascript es este:
Código HTML:
<option value="<?php echo $idart; ?>"><?php echo $nombre; }}?> </option> <!-- Este es para el id del articulo -->
<option value="<?php echo $id; ?>"><?php echo $precio; }}?> </option> <!-- Este es para el id del precio --> 
Yo no estoy muy familiarizada con JavaScript pero no se de que otra forma hacerle para que al momento de dar clic en el boton quitar me realice algo como lo que te e comentado
  #6 (permalink)  
Antiguo 08/08/2007, 19:20
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: Pasar valores a una funcion y de ahí a PHP

Lo que estás haciendo no es posible, no podés mezclar así PHP y Javascript.

Si querés una eliminación inmediata, tendrías que usar AJAX. No te recomiendo esto si no estás familiarizada con Javascript, a menos que tengas tiempo para aprenderlo.

De otra forma, tendrás que usar simplemente una redirección a otra página, algo como

function Quitar()
{
location = "pagina.php?eliminar=" + document.getElementById("idart").value;
}

(location lo puse en cursiva porque no me acuerdo el método exacto, si es window.location o document.location)

Una forma de simular el mismo efecto inmediato de AJAX sin recargar la página es usar un iframe oculto, y luego en vez de redireccionar toda la página solamente redireccionás el iframe. (como sabrás el elemento iframe tiene un atributo src que le indica la dirección de la página que debe cargar)

Otro tema es la eliminación del elemento de la lista en la página actual, requiere un poco más de javascript independientemente de cómo lo elimines "en realidad".

En definitiva: si no sabés usar javascript con relativa facilidad, la tendrás difícil para hacer un sistema como este. Te recomiendo buscar (y leer) sobre redirecciones y manejo de listas select.


Saludos.
  #7 (permalink)  
Antiguo 09/10/2007, 14:25
 
Fecha de Ingreso: octubre-2006
Ubicación: Guadalajara, Mexico
Mensajes: 177
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Pasar valores a una funcion y de ahí a PHP

Que tal

Mira como tal no se pueden pasar los valorea a PHP desde JavaScript, pero no se si te sirva esto

echo "<script languaje=\"JavaScript\">Comandos en Java </script>";

Pero los puedes concatenar con tus variables de PHP

Y acceder a la lista de un Select lo puedes hacer con Javascript con getElementById y lees todos los elementos del select

si tienes alguna duda puedes recurrir a w3schools.com
saludos
  #8 (permalink)  
Antiguo 09/10/2007, 16:05
 
Fecha de Ingreso: noviembre-2004
Ubicación: Valle del cauca / Cali
Mensajes: 112
Antigüedad: 19 años, 5 meses
Puntos: 1
Re: Pasar valores a una funcion y de ahí a PHP

Hola, estoy con un problema parecido, pero es de js a php, la solución es JSON, con este lo puedes hacer........

revisa www.json.org

Lo otro que puedes hacer es pasar por un eval la instruccion de crear variable generada en php y en el javascript te quedara la variable creada.....
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 01:12.