Foros del Web » Programando para Internet » Javascript »

ambito de variables

Estas en el tema de ambito de variables en el foro de Javascript en Foros del Web. Hola, cuando desarrollamos una pagina php, y le metemos javascript, y de php hay secciones.... una primera parte de funciones, otra de javascript que se ...
  #1 (permalink)  
Antiguo 13/05/2010, 06:24
 
Fecha de Ingreso: mayo-2010
Mensajes: 112
Antigüedad: 14 años, 6 meses
Puntos: 0
ambito de variables

Hola, cuando desarrollamos una pagina php, y le metemos javascript, y de php hay secciones.... una primera parte de funciones, otra de javascript que se desearia que usara variables usadas en php de la misma pagina y demas. ¿Como trata eso el explorador?
  #2 (permalink)  
Antiguo 13/05/2010, 09:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: ambito de variables

Recuerda que PHP se ejecuta en el servidor y Javascript en el cliente, por lo que no hay una relación directa, tu puedes imprimir código Javascript desde PHP y usar el valor de una variable de PHP en Javascript, y para hacerlo viceversa tienes que enviarlo por un formulario, o usar AJAX y pasarlo por una petición HTTP para que PHP los pueda ver.

Saludos.
  #3 (permalink)  
Antiguo 13/05/2010, 09:19
 
Fecha de Ingreso: mayo-2010
Mensajes: 112
Antigüedad: 14 años, 6 meses
Puntos: 0
Entiendo entoces que la movida que quiero hacer... deberia ser en javascript. Dada una tabla y cada elemento de la misma con un checbox, si quiero saber una de las columanas, su texto, teniendo en cuenta que debe estar chequeado, eso debo hacerlo con javascript... aunque luego me haga falta pasarlo a php para meterlos en una bbdd.

Quizas la solucion seria por dos lados.... si clico el boton de submit del formulario, hacer el tratamiento en javascript y luego irme a otro fichero php para hacer las consultas, o... a traves de eventos, ir tratando los checkboxes, y luego al clicar el boton de submit hacer las consultas.

¿Que me recomiendas?

El onclick no me sirve, pq no me dice si esta chequeado o no...

Lo he intentado con anterioridad, con esto, pero tampoco me la coje.. el tema era crearme otro array... Los document.write (chequeados[1]); document.write (chequeados[0]); no me escrbien nada, cuando a la funcion si que se le ha pasado una cadena en uno de los parametros.



<script language="Javascript">

function validacion(obj,cadena)
{
copia=cadena;
document.write (cadena);
if (obj.checked)
{
document.write ('si');
document.write (cadena);
document.write (obj);
chequeados[1]=cadena;
document.write (chequeados[1]);
document.write (chequeados[0]);
}
else
document.write('no');

}

</script>

Última edición por GatorV; 13/05/2010 a las 09:28
  #4 (permalink)  
Antiguo 13/05/2010, 09:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Tema movido desde PHP a Javascript
  #5 (permalink)  
Antiguo 13/05/2010, 09:57
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 8 meses
Puntos: 10
Respuesta: ambito de variables

A ver si te ayuda esto:

<!-- Llama a este script "check.php" -->

<script type="text/javascript" language="javascript">
function mostrar(){
//- 2 menos los dos botones (se puede hacer de otro modo, pero mas complejito)
for(i=0; i<(document.myForm.length - 2); i++){
//alert(document.myForm[i].checked);
if(document.myForm[i].checked){
document.getElementById("esperoResultado").innerHT ML += "Check "+ i +" Checado<br />";
}else{
document.getElementById("esperoResultado").innerHT ML += "Check "+ i +" Vacio<br />";
}
}
}

</script>

<form name="myForm">
<input type="checkbox" name="chek1" /><br />
<input type="checkbox" name="chek2" /><br />
<input type="checkbox" name="chek3" /><br />
<input type="checkbox" name="chek4" /><br />
<input type="checkbox" name="chek5" /><br />

<input type="button" onclick="mostrar()" value="Mostrar Resultados" />
<input type="button" onclick="window.location='check.php'" value="Quitar Resultados" />
</form>

<div id="esperoResultado"></div>
  #6 (permalink)  
Antiguo 13/05/2010, 10:55
 
Fecha de Ingreso: mayo-2010
Mensajes: 112
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: ambito de variables

Eso me queda claro... mas o menos, pero la duda, esta en que porque puedo acceder a si esta checked o no, y a una variable no puedo? seleccion[0] la lee bien, pero array[0] simplemente no muestra nada.

<?php
//if they checked box 1
if (isset($_POST['seleccion'][0]))
{
echo("You checked box 1<br>" . $_POST['array'][0]);
}
else
echo("Ninguno seleccionado ");
?>
  #7 (permalink)  
Antiguo 13/05/2010, 13:18
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 8 meses
Puntos: 10
Respuesta: ambito de variables

Me falto mostrar el valor de cada variable
Ahora se recupera el valor:


<!-- Llama a este script "check.php" -->

<script type="text/javascript" language="javascript">
function mostrar(){
//- 2 menos los dos botones (se puede hacer de otro modo, pero mas complejito)
for(i=0; i<(document.myForm.length - 2); i++){
//alert(document.myForm[i].checked);
if(document.myForm[i].checked){
//document.getElementById("esperoResultado").innerHT ML += "Check "+ i +" Checado<br />";
<!-- contiene el nombre de la variable de cada chek-->
document.getElementById("esperoResultado").innerHT ML += document.myForm[i].name +" Vale => ";
<!-- contiene el valor del chek -->
document.getElementById("esperoResultado").innerHT ML += document.myForm[i].value +"<br />";
}else{
document.getElementById("esperoResultado").innerHT ML += "Check "+ i +" Vacio<br />";
}
}
}

</script>

<form name="myForm">
<!-- name="" contine la variable y value="" su valor -->
<input type="checkbox" name="chek1" value="valor1" /><br />
<input type="checkbox" name="chek2" value="valor2" /><br />
<input type="checkbox" name="chek3" value="valor3" /><br />
<input type="checkbox" name="chek4" value="valor4" /><br />
<input type="checkbox" name="chek5" value="valor5" /><br />

<input type="button" onclick="mostrar()" value="Mostrar Resultados" />
<input type="button" onclick="window.location='check.php'" value="Quitar Resultados" />
</form>

<div id="esperoResultado"></div>
  #8 (permalink)  
Antiguo 13/05/2010, 13:25
 
Fecha de Ingreso: mayo-2010
Mensajes: 112
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: ambito de variables

Mmmm de momento lo he logrado solucionar de otra manera.

<?php
$titol=$_POST["titol"];
$valor=count($titol);
echo "Hay seleccionados $valor";
for($i=0;$i<$valor;$i++)
echo "$titol[$i]";
?>

desde

while ($row=mysql_fetch_array($result))
{


// echo "<tr><td>" .$row['titol'] ."</tr>";
echo "<tr><td><input type=\"checkbox\" name=\"titol[]\" value=\"".$row['titol']."\">".$row['titol']."<br></tr>";

}

Etiquetas: ambito, variables
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 13:55.