Ver Mensaje Individual
  #17 (permalink)  
Antiguo 29/10/2012, 16:21
Avatar de IsaBelM
IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 11 meses
Puntos: 1012
Respuesta: Numerar lineas de un textarea

llevando a código mis elucubraciones
Cita:
<!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>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>numerar lineas textarea</title>
<style type="text/css">
/*<![CDATA[*/
#contenedor, #contenedor textarea{border:dotted 1px #75888E; width:600px; font-size: 10pt; font-family: verdana, sans-serif; };
/*]]>*/
</style>


<script type="text/javascript">
//<![CDATA[
function numerar(evt, elem){

if (evt.keyCode == 13) {
var reg = /((ht|f)(tps?:\/\/\w)+([\.\-\w]+)?(\.)([a-z]{2,4})(:\d{2,5})?(\/.\S*)?)/gi;
var arr = [], editado = '', valTextarea = '';

while ((arr = reg.exec(elem.value)) != null) {
editado += '<li><a href=\"' +arr[0]+ '\">' +arr[0]+ '<\/a><\/li>';
valTextarea += arr[0] + '\n';
}

document.getElementById('contenedor').innerHTML = '<ol>' + editado + '<\/ol>';
elem.value = valTextarea;
return false;
}

}




function ping(u) {
var uris = document.getElementById('contenedor').getElementsB yTagName('a');

if(u <= parseInt(uris.length)-1) {
var jslibajax=document.createElement('script');
jslibajax.setAttribute('type','text/javascript');
jslibajax.setAttribute('src', 'http://www.ajax-cross-domain.com/cgi-bin/ACD/ACD.js?uri=('+uris[u].innerHTML+'/)');
document.getElementsByTagName('head')[0].appendChild(jslibajax);
}


setTimeout(function() {

if(ACD.status == '200 OK') {
uris[u].parentNode.innerHTML += ' ☑';
} else {
uris[u].parentNode.innerHTML += ' ☒';
}
document.getElementsByTagName('head')[0].removeChild(document.getElementsByTagName('script ')[1]);

if(parseInt(u,10) <= parseInt(uris.length-2)) {ping(parseInt(u) + 1);}

}, 4000)

}
//]]>
</script>
</head>
<body>
<div id="contenedor"></div>
<form action="#">
<textarea name="textA" id="textA" cols="150" rows="10" onkeypress="return numerar(event, this)">
http://www.google.com/
http://www.forosdelweb.com/
http://www.microsoft.com/
http://www.unsite.com/
</textarea>
<br />
<button type="submit">enviar</button>
</form>
<button type="button" onclick="ping(0)">hacer ping</button>
</body>
</html>
además le he añadido un "ping" para saber si la url, además de tener la estructura correcta, existe. se trata de usar la librería ajax-cross-domain y comprobar la propiedad status.

veréis que "forosdelweb" no existe. creo que es debido a que la librería ha de tener alguna directiva donde se pueda permitir todas las uri. esto es sólo una suposición ya que no he descargado la librería- los site en lo que se recibe el status 200 son google y microsoft
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}