Formularios Locales

ivan
09 de Octubre del 2009
Hola.

Quiero crear un formulario HTML sencillo que pueda guardarse localmente con los valores introducidos.
Además deseo que se gestione únicamente en el lado cliente, es decir, sin enviar nada al servidor.

Para ello utilizo un script (Fijar()) que guarda los datos tecleados en el atributo "value", y posteriormente uso la opción "Archivo - Guardar como" del navegador. De esta forma, al abrir el archivo HTML guardado, los campos conservan el valor que tenían cuando se pulsó el botón Fijar.

El problema lo tengo con los controles tipo Textarea, que no muestran el valor establecido en "value". No he encontrado solución para esto.

No tengo experiencia en progamación HTML ni Javascript, y quizá sea algo muy sencillo, pero no doy con ello.
Si alguien puede aportarme alguna sugerencia, se lo agradecería.

--- Codigo ---

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function Fijar()
{
var campo = document.getElementById("cambiame");
campo.setAttribute("value",campo.value);

var campo2 = document.getElementById("textito");
campo2.setAttribute("value",campo2.value);
}
</SCRIPT>
</HEAD>
<BODY>
<P ALIGN="CENTER">
<FORM name=formul>
<input id="cambiame" name="n1" value="" />
<textarea id="textito" name="n2" cols=40 rows=3 value=""></textarea>
<INPUT TYPE="button" VALUE="Fijar" onClick="Fijar();">
</FORM>
</P>
</BODY>
</HTML>

--- Fin ---




giovac
09 de Octubre del 2009
hola este es un formulario que yo hice espero que te sirva.....

<H2>Receive the site's newsletter!</H2>
<FORM ACTION= "/cgi-bin/mailer" Method=GET
onSubmit="return Verif(this.form)">
<B>Name: </B>
<INPUT TYPE="text" NAME="nom" SIZE=26 MAXLENGTH=40 >
<BR><BR>
<B>E-mail: </B>
<INPUT TYPE="text" NAME="mail" SIZE=26 MAXLENGTH=40 >
<BR><BR><BR>
<INPUT TYPE="submit" VALUE="Test">
<INPUT TYPE="reset" VALUE="Reset">
</FORM>

este otro con TEXTAREA....

<form action="insertar_producto.php" method="post">
<label for="nombre">Nombre del producto</label> <br/>
<input type="text" id="nombre" name="nombre" value="" />
<label for="descripcion">Descripción del producto</label> <br/>
<textarea id="descripcion" name="descripcion" cols="40" rows="5"></textarea>
</form>


si quires otros formularios te hago mas....

salu2






ivan
09 de Octubre del 2009
Gracias por tu respuesta.
Al final solucioné lo de las textarea pasando el contenido a un campo oculto:

<html><head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<script language="JavaScript">
function Fijar()
{
// Fija el textbox
var campo = document.getElementById("cambiame");
campo.setAttribute("value",campo.value);

// Fija la textarea
var campo2 = document.getElementById("textito");
var c3 = document.getElementById("oculto");
c3.setAttribute("value",campo2.value);

alert("Valores fijados. Guarde el documento (Archivo-Guardar como-HTML");
}

function Mostrar()
{
var campo7 = document.getElementById("textito");
var c8 = document.getElementById("oculto");
//alert(c8.value);
document.forms["formul"].campo4.value += c8.value;
}

function Llenar()
{
var campo7 = document.getElementById("textito");
var c8 = document.getElementById("oculto");
//alert(c8.value);
document.forms["formul"].campo4.value = c8.value;
}
</script>
</head>

<body onload="Llenar()">
<p align="center">
</p><form name="formul">
<input id="cambiame" name="campo1" value="">
<textarea id="textito" name="campo4" cols="40" rows="3" value="" wrap="soft" style="overflow: none;"></textarea>
<input type="hidden" id="oculto" name="campo3" value="">
<input value="Fijar" onclick="Fijar();" type="button">
<input value="Mostrar" onclick="Mostrar();" type="button">
</form>
<p></p>
</body></html>