JavaScript - Actualizar obj javascript

 
Vista:

Actualizar obj javascript

Publicado por Marcoss (11 intervenciones) el 03/07/2007 17:38:19
¡Hola!

Estoy programando en php y javascript y tengo una duda:

A ver, para la creación de determinados inputs uso javascript porque no sé cuántos inputs va a necesitar el usuario (por ejemplo, para añadir las titulaciones de un profesor, a priori no sabemos cuántas son, entonces mediante javascript el usuario pulsa en el botón 'añadir titulación' y se añade). A continuación muetro el código para crear las titulaciones de un profesor:

[codigo]
<script type="text/javascript">

num=0;
function crear(obj) {
num++;
fi = document.getElementById('fiel'); // 1
contenedor = document.createElement('div'); // 2
contenedor.id = 'div'+num; // 3
fi.appendChild(contenedor); // 4

ele = document.createElement('input'); // 5
ele.type = 'text'; // 6
ele.name = 'text'+num; // 6
ele.size = '40';
contenedor.appendChild(ele); // 7

ele = document.createElement('input'); // 5
ele.type = 'button'; // 6
ele.value = 'Borrar'; // 8
ele.name = 'div'+num; // 8
ele.onclick = function () {borrar(this.name)} // 9
contenedor.appendChild(ele); // 7
}
function borrar(obj) {
fi = document.getElementById('fiel'); // 1
fi.removeChild(document.getElementById(obj)); // 10
}

</script>[/codigo]

He mostrado el código javascript, ahora muestro el código php desde el que lo llamo:

[codigo]<h2>Nombre de la nueva titulación</h2>
<fieldset id="fiel">
<input type="button" value="Añadir titulación" onclick="crear(this)">
</fieldset>
[/codigo]

Y esto me funciona bien, consigo crear al profesor con el número de titulaciones que quiera el usuario.

Pero el problema viene cuando se quiere modificar a ese profesor, y entonces aparecen las titulaciones que tenía, pero no se pueden añadir más poque no consigo hacerlo de forma dinámica:

[codigo]
<strong>Titulaciones del profesor</strong> <br><br>';
echo'
<fieldset id="fiel1">';

echo "
<script type='text/javascript'>
num1=0;
num1++;
fi = document.getElementById('fiel1');
contenedor = document.createElement('div1');
contenedor.id = 'div1'+num1;
fi.appendChild(contenedor); ";

while ($fila1= mysql_fetch_assoc($result1)){

echo"
ele = document.createElement('input');
ele.type = 'text';
ele.name = 'titulacion'+num1; ";
echo"ele.value='".$fila1['nombreTitulacion']."';";
echo"
ele.size = '40';
contenedor.appendChild(ele);";
}

echo"
ele = document.createElement('input');
ele.type = 'button';
ele.value = 'Borrar';
ele.name = 'div1'+num1;
ele.onclick = function () {borrar1(this.name)}
contenedor.appendChild(ele); // 7
}
</script>
";
echo'
</fieldset>';

echo'
<fieldset id="fiel">
<input type="button" value="Añadir titulación" onclick="crear(this)">
</fieldset>';

[/codigo]

Sé que este último código está mal porque javascript se ejecuta del lado del cliente y php del lado del servidor, pero ¿qué forma hay de hacer esto? Ya llevo mucho tiempo estancado aqui y no sé como seguir, si me puediéseis ayudar...

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder