otto_von_bismark escribió:No me lo he leído. Pero utiliza campos hidden.
WaterDark escribió:<style="display:hidden"> solo oculta algo a la vista, pero el codigo sigue estando, lo que no tiene porque ser un problema la verdad...
Si necesitas que el codigo desaparezca del formulario por el motivo que sea, la mejor opción a mi parecer es tener otro formulario o elemento oculto en el que muevas los que no uses, de esta forma no tienes que andar creando y eliminando elementos con su contenido(incluido texto en el idioma que toque), simplemente mueves los elementos de un sitio a otro segun te convenga.
Supongo que será tan fácil como hacer algo asi:
var formulario = document.getElementById("miFormulario");
var div_oculto = document.getElementById("miDivOculto");
var elementofeo = document.getElemenyById("elementoQueNoQuiero");
var elementowapo = document.getElemenyById("elementoQueQuiero");
div_oculto.appendChild(elementofeo );
formulario .appendChild(elementowapo );
Ulalaa escribió:Hola WaterDark, entiendo lo que dices, pero no exactamente dónde en el documento tengo que hacer ese juego de variables...¿En la parte javascript o en la parte html? ¿en una función específica?
WaterDark escribió:Ulalaa escribió:Hola WaterDark, entiendo lo que dices, pero no exactamente dónde en el documento tengo que hacer ese juego de variables...¿En la parte javascript o en la parte html? ¿en una función específica?
Todo lo que te he puesto es javascript.
Con javascript mueves de sitio elementos del html, de forma que puedes sacar elementos del formulario y meterlos en un DIV oculto, y sacar elementos del DIV oculto para colocarlos de nuevo en el formularios segun te convenga.
También puedes tener preparado todo el bloque de elementos que necesites(dentro de un DIV por ejemplo) para cada opción y moverlo todo de un tiron de un lado a otro, esto facilita organizar las cosas.
function comprobar() {
switch (document.formulario.servicio.value) {
case "Interpretacion":
window.formulario.numpalab.value= "----";
window.formulario.numpag.value = "----";
break;
case "Traduccion de textos":
window.formulario.numpalab.value = "";
window.formulario.numpag.value = "";
break;
}
WaterDark escribió:Una cosa, algún motivo por el que no puedas solo ocultar lo que no uses?
El DIV estaría en el HTML.
WaterDark escribió:Mira lo que he subido.
Habia entendido cuando dijistes lo del "style=hidden", que no querias que el codigo HTML siguiera existiendo, ya que hidden lo que hace es ocultarlo a la vista, pero seguir, sigue ahí.
Si entonces te sirve así, lo que te he subido, solo he añadido dos lineas y un identificador(id) al elemento "p" que tiene las opciones de traduccion. Las dos lineas que he añadidos son
document.getElementById("opc_traduccion").style.display = "none";
document.getElementById("opc_traduccion").style.display = "inline-block";
dentro del javascript, para ocultar o mostrar segun que opcion elijas.
Ahora falta que añadas el codigo HTML para las otras opciones y lo ocultes o muestras según convenga.
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> </font></td>
<td><p id="opc_traduccion"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input name="radiobutton" type="radio" onClick="MM_setTextOfTextfield('numpag','','----');MM_setTextOfTextfield('numpalab','','')" value="palabras">
Consecutiva <input name="consec" type="text" id="consec" size="5"> <input name="radiobutton" type="radio" onClick="MM_setTextOfTextfield('numpalab','','----');MM_setTextOfTextfield('numpag','','')" value="páginas"> Simultánea</font> <input name="numpag" type="text" id="numpag" size="5">
</p>
</td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> </font></td>
<td><p id="opc_traduccion"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input name="radiobutton" type="radio">Consecutiva</font> <input name="consec" type="text" id="consec" size="5">
<input name="radiobutton" type="radio">Simultánea</font> <input name="numpag" type="text" id="numpag" size="5">
</p>
</td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> </font></td>
<td><p id="opc_interpretacion"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input name="radiobutton" type="radio">Consecutiva</font>
<input name="radiobutton" type="radio">Simultánea</font>
</p>
</td>
</tr>
<tr>
<td><p id="opc_interpretacion"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Nº de jornadas:</font></td>
<td><input name="jornadas" id="jornadas" placeholder="Medio día(1/2), jornada completa(1,2,3)" type="numer" size="30"></td>
</tr>
<tr>
<td><p id="opc_interpretacion"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Lugar de la conferencia:</font></td>
<td><input name="poblacion_conferencia" type="text" id="poblacion_conferencia" placeholder="Ciudad en que se celebra la reunión" size="50"></td>
</tr>
function comprobar() {
switch (document.formulario.servicio.value) {
case "Interpretacion":
document.getElementById("opc_interpretacion").style.display = "inline-block";
document.getElementById("opc_traduccion").style.display = "none";
window.formulario.numpalab.value = "----";
window.formulario.numpag.value = "----";
break;
case "Traduccion de textos":
document.getElementById("opc_traduccion").style.display = "inline-block";
window.formulario.numpalab.value = "";
window.formulario.numpag.value = "";
document.getElementById("opc_interpretacion").style.display = "none";
break;
}
return true;
}
switch (document.formulario.servicio.value) {
case "Interpretacion":
document.getElementById("opc_interpretacion1").style.display = "inline-block";
document.getElementById("opc_interpretacion2").style.display = "inline-block";
document.getElementById("opc_interpretacion3").style.display = "inline-block";
document.getElementById("opc_interpretacion4").style.display = "inline-block";
document.getElementById("opc_interpretacion5").style.display = "inline-block";
document.getElementById("opc_traduccion").style.display = "none";
window.formulario.numpalab.value = "----";
window.formulario.numpag.value = "----";
break;
case "Traduccion de textos":
document.getElementById("opc_traduccion").style.display = "inline-block";
window.formulario.numpalab.value = "";
window.formulario.numpag.value = "";
document.getElementById("opc_interpretacion1").style.display = "none";
document.getElementById("opc_interpretacion2").style.display = "none";
document.getElementById("opc_interpretacion3").style.display = "none";
document.getElementById("opc_interpretacion4").style.display = "none";
document.getElementById("opc_interpretacion5").style.display = "none";
break;
}
<tr id="opc_interpretacion1"> ////// AQUI
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> </font></td>
<td><p ><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input name="radiobutton" type="radio">Consecutiva</font>
<input name="radiobutton" type="radio">Simultánea</font>
</p>
</td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> </font></td>
<td><p id="opc_interpretacion"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input name="radiobutton" type="radio" value="consecutiva">Consecutiva</font>
<input name="radiobutton" type="radio" value="simultánea">Simultánea</font>
</p>
</td>
</tr>
WaterDark escribió:Sube el archivo que lo vea, y lee mis ultimos edit.