Tenias bastantes errores en tu codigo....
Código HTML:
Ver original<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script language="JavaScript" type="text/JavaScript"> function alsalir(campo){
var MAX = campo.value.length;
var STR = campo.value;
var VAL=0;
var i;
var char;
if (MAX!=0){
for (i=0; i<MAX; i++){
char = Mid(STR, i, 1);
if (/^\s/.test(char)){
VAL = 0;
}else{
VAL = 1;
break;
}
}
}
if (VAL == 0){
alert("No has escrito nada");
campo.value="";
campo.rows = 2;
}else{
alert("Has escrito algo");
}
}
function Mid(str, start, len)
{
// Make sure start and len are within proper bounds
if (start < 0 || len < 0) return "";
var iEnd, iLen = String(str).length;
if (start + len > iLen)
iEnd = iLen;
else
iEnd = start + len;
return String(str).substring(start,iEnd);
}
<textarea name="areatexto" cols="25" rows="2" id="areatexto" onBlur="alsalir(this)"></textarea>
Errores:
Mid no es una funcion definida en javascript (igual la tenias en otra parte de tus scripts, te paso una por si no la tenias)
El operador de comparación de igualdad es
== no =
Es mucho suponer que char != '' (cadena vacia) sea lo unico que te interesa eleminar... por mucho que aparentemente sea una cadena vacia ''.
Vamos a poner nombres inteligibles a las cosas, que es eso de "
function b(campo)"... el nombre debe dar pistas de lo que hace la funcion.
Quim
zerokilled me puedes decir porque funciona igual si uso /
^\s/.test(char) o /\s/.test(char)