Foros del Web » Programando para Internet » Javascript »

Actualizar variables javascript

Estas en el tema de Actualizar variables javascript en el foro de Javascript en Foros del Web. ¡Hola! Estoy haciendo un programa donde uso php y javascript y tengo un problemilla con javascript.El problema exactamente es que tengo un profesor que tiene ...
  #1 (permalink)  
Antiguo 22/04/2007, 13:28
 
Fecha de Ingreso: febrero-2007
Mensajes: 138
Antigüedad: 17 años, 2 meses
Puntos: 0
Actualizar variables javascript

¡Hola!

Estoy haciendo un programa donde uso php y javascript y tengo un problemilla con javascript.El problema exactamente es que tengo un profesor que tiene unas titulaciones guardadas, y el profesor puede editar esas titulaciones.

Tengo un script en javascript para crear las titulaciones y poder borrarlas y funciona pero el script para actualizarlas no. Entonces para que el profesor pueda borrar las titulaciones que ya tiene creadas tengo que pasarle a una función de javascript el nombre de la titulación (cosa que creo que no se puede hacer, pasar un valor de php a javascript). Aquí está mi código, pero no me funciona porque no me pasa el valor del nombre de la titulación de php a javascript, si pudiéseis indicarme por donde tirar. No sé si la resolución del problema está bien planteada, si no lo está, os rogaría me lo indicáseis.

Esta es la función en javascript para crear la nueva titulación (funciona bien):

Código:
num=0;
function crear(obj) {
alert(num);
  num++;
  fi = document.getElementById('fiel'); 
 contenedor = document.createElement('div'); 
  contenedor.id = 'div'+num; 
  fi.appendChild(contenedor); 

  ele = document.createElement('input'); 
  ele.type = 'text';
  ele.name = 'text'+num; 
  ele.size = '40';
  contenedor.appendChild(ele); 
  
  ele = document.createElement('input'); 
  ele.type = 'button'; 
  ele.value = 'Borrar'; 
  ele.name = 'div'+num; 
  ele.onclick = function () {borrar(this.name)} 
  contenedor.appendChild(ele); 
}
function borrar(obj) {
  fi = document.getElementById('fiel'); 
  fi.removeChild(document.getElementById(obj)); 
}
La función para mostrar las titulaciones que el profesor ya tiene es (donde valor sería el nombre de la titulación):

Código:
function actualizar(obj,valor) {

  num++;
  fi = document.getElementById('fiel');
 contenedor = document.createElement('div'); 
  contenedor.id = 'div'+num; 
  fi.appendChild(contenedor); 

  ele = document.createElement('input'); 
  ele.type = 'text'; 
  ele.name = 'text'+num; 
  ele.size = '40';
  ele.value = valor;
  contenedor.appendChild(ele); 
  
  ele = document.createElement('input'); 
  ele.type = 'button'; 
  ele.value = 'Borrar'; 
  ele.name = 'div'+num; 
  ele.onclick = function () {borrar(this.name)} 
  contenedor.appendChild(ele); 
}
Y esta es la parte de código php para cargar las titulaciones que ya tiene el profesor y poder crear las nuevas:

Código PHP:
$sql1 "select * from titulaciones where DNIProfesor = '".$fila['DNI']."'";
$result1 mysql_query($sql1$GLOBALS["miConexion"]) or die(mysql_error());

echo
'    
    <strong>Titulaciones del profesor</strong>        <br><br>'
;
    
$i=0;
echo
'    
<fieldset id="fiel">'
;        

    while (
$fila1mysql_fetch_assoc($result1)){
        
$_SESSION['nTitulacion'.$i]=$fila1['nTitulacion'];
    echo
'
        - <input onload="actualizar(this,'
.$fila1['nombreTitulacion'].')">';
echo
'        
        <br><br>'
;
        
$i++;
    }
echo 
'    
<input type="button" value="Añadir titulación" onclick="crear(this)">
</fieldset>'


Muchas gracias..
  #2 (permalink)  
Antiguo 22/04/2007, 14:29
 
Fecha de Ingreso: febrero-2007
Mensajes: 138
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Actualizar variables javascript

Le sigo dando vueltas y otra posible 'solución' que he implementado es:

- Script para mostrar el nombre de la titulación


Código:
<script type="text/javascript">

var i=1;
function act(obj){

  fi = document.getElementById('fiel1');
  contenedor = document.createElement('div1'); 
  contenedor.id = 'div1'+i; 
  fi.appendChild(contenedor); 


while (i<obj.nTitulaciones.value){
	
  ele = document.createElement('input'); 
  ele.type = 'text'; 
  ele.name = 'text'+i; 
  ele.size = '40';
  ele.value=obj.nombreTitulacion+i.value;
  contenedor.appendChild(ele); 
  
  ele = document.createElement('input');
  ele.type = 'button'; 
  ele.value = 'Borrar'; 
  ele.name = 'div1'+i; 
  ele.onclick = function () {borrar1(this.name)} 
  contenedor.appendChild(ele); 
  i++;

}
}

function borrar1(obj) {
  fi = document.getElementById('fiel1'); 
  fi.removeChild(document.getElementById(obj)); 
}
</script>


- Código en php para llamar al script

Código PHP:
    <strong>Titulaciones del profesor</strong>        <br><br>';
echo'
<fieldset id="fiel1">';
    $i=0;
    $tabla=array();
    
    while ($fila1= mysql_fetch_assoc($result1)){
        $_SESSION['
nTitulacion'.$i]=$fila1['nTitulacion'];
        $tabla[$i]=$fila1['
nombreTitulacion'];
        $i++;
    }

    $j=0;
    while ($j<$i){
echo'
        
<input name="nombreTitulacion'.$j.'" type="hidden" value="'.$tabla[$j].'">';
        $j++;
    }
echo'
<input name="nTitulaciones" type="hidden" value="'.$j.'">    
<
input onLoad="act(this)">
</
fieldset>; 


Pero tampoco me funciona... es que no sé si 'onload' está bien usado, yo quiero que al cargar la página aparezcan las titulaciones del profesor

Última edición por marcospuig; 22/04/2007 a las 14:40 Razón: completarlo
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 08:06.