Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Duda con javascript

Estas en el tema de Duda con javascript en el foro de Javascript en Foros del Web. Hola buenas, comento mi duda: resulta que estoy haciendo un programa que cree una tabla dinamica con la consulta que hago con php a mi ...
  #1 (permalink)  
Antiguo 12/12/2014, 04:49
a2a
 
Fecha de Ingreso: diciembre-2014
Mensajes: 20
Antigüedad: 9 años, 4 meses
Puntos: 0
Duda con javascript

Hola buenas, comento mi duda: resulta que estoy haciendo un programa que cree una tabla dinamica con la consulta que hago con php a mi base de datos y la muestre en la pagina web. Hasta ahi me funciona todo correcto, pero el problema me surge cuando quiero seleccionar una fila de la tabla (para eso he puesto un input de tipo radio).
Lo que intento hacer es que este tome el valor de la fila pero la cosa es que no me sale ninguna de las formas que probe.

Este es el codigo que me da dificultades:


<?php for($i=0;$i<sizeof($consulta);$i++){
?>
<tr>
<td> <input id= "seleccionado" type="radio" name="seleccionado" value= "'<?php $i ?>" > </td>
<td> <?php echo $num_pedido[$i] ?> </td>
<td> <?php echo $nombre_destinatario[$i] ?> </td>
}

no se si queda suficientemente claro, si no alguna otra manera de seleccionar la fila y que al seleccionarla se obtenga el valor de num_pedido.

Muchas gracias por su tiempo
Un saludo
  #2 (permalink)  
Antiguo 12/12/2014, 07:04
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Duda con javascript

este tema te aclarará algunos conceptos
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #3 (permalink)  
Antiguo 12/12/2014, 11:13
a2a
 
Fecha de Ingreso: diciembre-2014
Mensajes: 20
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Duda con javascript

Hola, gracias por contestar.
Creo que si tendria que hacer lo de que no se me repitan los ids como dices en el enlace ese, y al tener declarado solo un radio pero si hay mas de una fila se pintan mas ya que es dinamico.
Pero no me termina de quedar del todo claro lo que hace la funcion del script:
tendria esto

<td> <input id= "seleccionado" type="radio" name="seleccionado" onclick='toggle(this,this.nextElementSibling)' > </td>

ese es el radio y luego la funcion es esto

<script type="text/javascript">

function toggle(este,nxt){
nxt.style.display = este ? "inline" : 'none';
}


</script>

y de todas maneras el debug del navegador me da error en el nxt.style y no se que puede ser.
Me podriais solucionar un poco esto muchas gracias
  #4 (permalink)  
Antiguo 12/12/2014, 13:35
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Duda con javascript

deberías haber seguido leyendo. a diferencia de mostrar o ocultar un control, en tu caso es obtener el texto introducido en el <td>
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #5 (permalink)  
Antiguo 14/12/2014, 05:00
a2a
 
Fecha de Ingreso: diciembre-2014
Mensajes: 20
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Duda con javascript

hola isabelm muchas gracias por contestar, te pongo mi codigo y te comento

for($i=0;$i<sizeof($consulta);$i++){
?>
<tr>
<td> <input class="radio-seleccionado" type="radio" name="seleccionado" onclick='toggle(this,this.nextElementSibling)' > </td>
<td class="num_pedido"> <?php echo $num_pedido[$i] ?> </td>

...
<tr>
<?php } ?>





<script type="text/javascript">

[].forEach.call(document.querySelectorAll('.radio-seleccionado'), function(elem, i) {
elem.addEventListener('click', function() {
toggle(this.checked, i)}, false);
})

function toggle(este, i) {
document.querySelectorAll('.num_pedido')[i].style.display = este ? "inline" : 'none';
}



Resulta que cuando chequeo el radio me sobresalta el valor del num_pedido y lo saca por asi decirlo de la tabla. Y segun e estado leyendo la funcion toggle del jquery muestra los elementos web por asi decirlo, y lo que yo necesito es coger el num_pedido de la fila del radio y mandarlo por un input de tipo boton para que lo recoja otro php, nada mas eso. Asique quiza el codigo este este bien pero sin la funcion toggle y poniendo otra cosa, no se si estare en lo cierto asique si me podeis echar un cable, y si no estoy en lo cierto me lo podríais aclar un poco, muchas graciais por vuestras molestias.
  #6 (permalink)  
Antiguo 15/12/2014, 06:08
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Duda con javascript

Cita:
<td> <input class="radio-seleccionado" type="radio" name="seleccionado" > </td>
<td class="num_pedido"> <?php echo $num_pedido[$i] ?> </td>

[].forEach.call(document.querySelectorAll('.radio-seleccionado'), function(elem, i) {
elem.addEventListener('click', function() {
console.log(document.querySelectorAll('.num_pedido ')[i].innerHTML);
}, false);
})
ahora asignas esa cadena al elemento que quieras
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #7 (permalink)  
Antiguo 16/12/2014, 04:12
a2a
 
Fecha de Ingreso: diciembre-2014
Mensajes: 20
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Duda con javascript

Muchisimas gracias isabelM de verdad es justo lo que quería.
Una última cosa y no vuelvo a molestar con el tema jeje.

Ahora ando mandando el valor obtenido a otro fichero php para que lo lea por un _POST. La cosa es que no me lo reconoce del todo.


<input id= "boton" type="submit" name="submit" value="Modificar" onclick='mysubmit(a)'>

[].forEach.call(document.querySelectorAll('.radio-seleccionado'), function(elem, i) {
elem.addEventListener('click', function() {
var a= document.querySelectorAll('.num_pedido ')[i].innerHTML;
mysubmit(a);
}, false);
})

function mysubmit(a){

var url = "recogerdatos.php?id="+a;
document.getElementById("form").setAttribute('acti on',url);
}


Y en el otro fichero recogerdatos.php

$num_pedido = $_POST["num_pedido"];



La cosa es que no tengo claro que valor iría en el post, ya que solo lo he hecho cuando era con input de tipo texto, y si en vez de post es con get.
Y ptra cosa si el onclick del input es correcto?
Creo que si me das una idea de esas cosas estaría resuelta la duda.
Muchisimas gracias
  #8 (permalink)  
Antiguo 16/12/2014, 04:54
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Duda con javascript

el formularios con un campo hidden

Cita:
<form action="recogerdatos.php" method="post">
<input type="hidden" value="" id="oculto" />

<?php for($i=0;$i<sizeof($consulta);$i++){
?>
<tr>
<td> <input class="radio-seleccionado" type="radio" name="seleccionado" > </td>
<td class="num_pedido"> <?php echo $num_pedido[$i] ?> </td>
</tr>
<?php }?>
</form>
una modificación en el javascript

Cita:
[].forEach.call(document.querySelectorAll('.radio-seleccionado'), function(elem, i) {
elem.addEventListener('click', function() {
document.getElementById('oculto').value = document.querySelectorAll('.num_pedido ')[i].innerHTML;
}, false);
})
recoger el valor
Cita:
$num_pedido = $_POST["oculto"];
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}

Etiquetas: funcion, input, php, valor
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 23:49.