Ver Mensaje Individual
  #9 (permalink)  
Antiguo 30/06/2005, 16:02
furoya
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 6 meses
Puntos: 317
Hola de nuevo :

A la fecha este problema ya debe estar resuelto.

Lástima que no lo hayan compartido con nosotros.

Voy a aprovechar el tema para postear un par de códigos relacionados.

Con respecto a la pregunta inicial, existe en CSS para Internet Explorer algo llamado behavior, que no sabía que también se usaba para guardar junto con el documento los cambios en un formulario. Cuando lo 'descubrí', inmediatamente recorde este tema y empecé a preparar un ejemplo; pero después me pareció medio absurdo, teniendo en cuenta que Microsoft ya hizo uno.

http://msdn.microsoft.com/workshop/a...vesnapshot.asp

Pero no quise quedarme con las ganas, así que escribí otro que debería funcionar en los demás navegadores también.

Código:
<html>
<head>
<title>GUARDA VALORES FORMULARIO. </title>
<script language= "JavaScript">

var autor = prompt("Escriba aquí su nombre y apellido", "");
var valores = "";
var cuestFinal = false;

function suNombre(){
autor = (autor == null)? "¿...?" : autor;
document.getElementById("nombreApellido").innerHTML = autor;
}

function abreFinal(){
valores = document.getElementById("contCuest").innerHTML;
if(!cuestFinal)alert("No olvide guardar la nueva Página.");
nueva = open("", "final");
nueva.document.write(valores);
nueva.document.close();
cuestFinal = true;
}
</script>
</head>
<body onload="suNombre()">
<h2>Abre un nuevo documento con los cambios en el formulario.</h2>
<hr>
<div id="contCuest">
<h2 id="nombreApellido"></h2>

<form name="formulario">
<h3>¿Hacia qué lado rueda el silencio con la luz del día?.</h3>
<input type="radio" name="R1" />Sagitario. <br />
<input type="radio" name="R1" />Tuétano.<br />
<input type="radio" name="R1" />Codicioso.<br />

<h3>¿Cuántas hojas caen del abeto en el verano?.</h3>
<input type="radio" name="R2" />0. <br />
<input type="radio" name="R2" />00. <br />
<input type="radio" name="R2" />000. <br />

<h3>¿Qué hora es?.</h3>
<input type="radio" name="R3" />La primera. <br />
<input type="radio" name="R3" />La última. <br />
<input type="radio" name="R3" />Por el medio. <br />

<h3>¿Cómo se batanea el comburente?.</h3>
<input type="radio" name="R4" />Colorado. <br />
<input type="radio" name="R4" />Sin remordimiento. <br />
<input type="radio" name="R4" />A baño maría. <br />

</form>
</div>

<input type="button" value="Abre Formulario Para Guardar" onclick="abreFinal()">
</body>
</html>
En mi mensaje anterior propuse guardar una variable. Ésto es porque el método usual es resumir en un string los valores de formulario para después enviarlos.
Una vez recibidos se descompone la cadena y así se recuperan los datos iniciales. Pongo un ejemplo de select múltiple ( para pintar varias opciones se mantiene apretado CTRL ó SHIFT ) donde se puede observar que cada combinación que se elija va a devolver un número distinto de las otras.

Código:
<html>
<head>
<script language= "JavaScript">
function sumaValores(){
var suma = 0;
for(s=0; s<document.formlario.selector.length; s++){
if(document.formlario.selector[s].selected)
suma += parseInt(document.formlario.selector[s].value);
}
alert(suma);
}
</script>
<style>
input, select{width:5em; font-size:0.8em; }
</style>
</head>
<body>
<form name="formlario">
<select multiple="muliple" size="6" name="selector">
<option value="1">uno </option>
<option value="2">dos </option>
<option value="4">tres </option>
<option value="8">cuatro </option>
<option value="16">cinco </option>
<option value="32">seis </option>
</select>
<br />
<input type="button" onclick="sumaValores()" value="ENVIAR">
</form>
</body>
</html>
Así, leyendo el código que aparezca, sabremos exactamente qué tildó el usuario.

Pero seguí pensando en tu idea original, Jhito. Aunque estos cuestionarios se hacen en Excel o Word, podemos considerar que el Notepad y el IExplorer vienen 'gratis' con Windows, y no hay ningún motivo para no aprovecharlos.

Empecé haciendo una herramienta de evaluación simple, y -como de costumbre- terminé agregándole tantas cosas que ya no sé si es muy comprensible. Pero como la primer ( ¡ y única ! ) versión ya está terminada, la dejo aquí.

El documento se llama Evaluador.HTA. Por supuesto que sería mejor hacerlo como aplicación en cualquier otro lenguaje, pero estamos en el foro de Javascript. Y también podría guardarse como Evaluador.HTM.

Continúa en el siguiente mensaje