Buen argumento @furoya, pero, en este tema como en muchos otros que pululan por el foro sigue faltando un argumento, se dice lo que se quiere hacer, pero no el para qué, en concreto, en este caso
mandar un email?
popular una base de datos con comentarios?
grabar un archivo de texto?
generar un html?
que el usuario simplemente vea la indentación?
Si fuese cualquiera de las cuatro primeras, para lo cual en definitiva vamos a tener que hacer uso de un lenguaje del lado del servidor, php en mi caso, creo que habría que simplificar las cosas, y manipular el formato con el mismo php, sobre todo en un comportamiento, que, trás las muchas pruebas que he hecho, es completamente irregular de un navegador a otro, y no solo me refiero a Opera.
Como sea y para terminar, dejo algunos cambios a mi primer script, dado que me percaté de que innerText no es soportado por firefox.
La que sigue es la que logra un comportamiento más parecido (no igual) en los diferentes navgadores
Código HTML:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script type="text/javascript"> //<![CDATA[
function editable(){
if (/Firefox/i.test(navigator.userAgent)){
var texto = document.getElementById('texto').innerHTML;
}else{
var texto = document.getElementById('texto').innerText;
}
document.getElementById('contenido').value = texto;
}
//]]>
<form action="editable.php" method="post" onsubmit="return editable();"> <div id="texto" contenteditable="true" style="width: 400px; height: 400px;text-indent: 2em;border: solid 1px #333333"></div> <input type="hidden" value="" id="contenido" name="contenido" />
Código PHP:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>titulo</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<body>
<?php
$texto = $_POST['contenido'];
?>
<div>
<?php echo "$texto"; ?>
</div>
</body>
</html>
No se podrá quejar @quico5, que no tendrá oportunidad de aburrirse con nuestras disquicisiones.
Saludos