Código PHP:
<html>
<head>
<title></title>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<script langage="javascript" type="text/javascript">
// Comprueba Navegador y Plataforma del pc
var clientPC = navigator.userAgent.toLowerCase(); // Coge info cliente
var clientVer = parseInt(navigator.appVersion); // Coge versión navegador
var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));
var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1)
&& (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1)
&& (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1));
var is_moz = 0;
var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1));
var is_mac = (clientPC.indexOf("mac")!=-1);
function ListOrdenada() {
var txtarea = document.getElementById('texto')
var opcion= new Array();
var i,j
var suma = 0;
var Cursor = 0;
if ((clientVer >= 4) && is_ie && is_win) {
var theSelection = document.selection.createRange().text;
// IE
if (document.selection) {
txtarea.focus();
var Sel = document.selection.createRange();
Sel.moveStart ('character', -txtarea.value.length);
var SelEmpz = Sel.text.length;
var SelLargo = txtarea.value.length;
var s1 = (txtarea.value).substring(0,SelEmpz);
var s2 = (txtarea.value).substring(SelEmpz,SelLargo);
var SelFin = s1.length - theSelection.length; // caracteres que deja atrás
var s1_selec = (txtarea.value).substring(0,SelFin);
var abre = "[list=1]\n";
var cierra = "[/LIST=]";
if (!theSelection) {
alert("texto1 " +s1+ "\ntexto2 " +s2)
txtarea.value = s1 + abre + cierra + s2;
for (i=0; i<=opcion.length; i++) {
opcion[i]=prompt("Ingresa los elementos de la lista de uno en uno","");
if ((opcion[i]== null) || (opcion[i]== "undefined") || (opcion[i] == "") || (opcion[i] ==' ')) {
Cursor= s1.length + abre.length + suma + cierra.length;
return(Cursor);
}
txtarea.value = s1 + abre;
for (j=0; j<=i; j++) {
txtarea.value += "[*]" + opcion[j] + "\n";
}
txtarea.value += cierra + s2;
suma += (opcion[i].length+4);
}
}
if (theSelection) {
txtarea.value = s1_selec + abre;
opcion = theSelection.split(" ");
for (j=0; j<opcion.length; j++) {
txtarea.value += "[*]" + opcion[j] + "\n";
suma += (opcion[j].length+4);
}
txtarea.value += cierra + s2;
var Cursor = s1_selec.length + abre.length + suma + cierra.length;
return(Cursor);
}
}
}
// Firefox
else if (txtarea.selectionStart ||txtarea.selectionStart == '0')
SelEmpz = txtarea.selectionStart;
}
function PosicionCursor(pos) {
var txtarea = document.getElementById('texto')
if(txtarea.setSelectionRange) {
txtarea.focus();
txtarea.setSelectionRange(pos,pos);
}
else if (txtarea.createTextRange) {
var rango = txtarea.createTextRange();
rango.collapse(true);
rango.moveEnd('character', pos);
rango.moveStart('character', pos);
rango.select();
}
}
function InListaOrd()
{
PosicionCursor(ListOrdenada());
}
</script>
</head>
<body>
Código PHP:
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<form name="editexto">
<td><textarea id="texto" name="texto" rows="5" cols="31"></textarea></td>
</tr>
<tr>
<td><input type="button" id="Ordenar" onclick="InListaOrd();" value="LOrdenada" /></td>
</form>
</tr>
</table>
</body>
</html>
Pero si cambio el orden de los elemento que componen el formulario no funciona
Código PHP:
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<form name="editexto">
<td><input type="button" id="Ordenar" onclick="InListaOrd();" value="LOrdenada" /></td>
</tr>
<tr>
<td><textarea id="texto" name="texto" rows="5" cols="31"></textarea></td>
</form>
</tr>
</table>
</body>
</html>
Gracias