Ver Mensaje Individual
  #3 (permalink)  
Antiguo 17/12/2009, 06:40
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 17 años
Puntos: 574
Respuesta: Detectar TextArea vacío

Tenias bastantes errores en tu codigo....

Código HTML:
Ver original
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <title>Documento sin t&iacute;tulo</title>
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  4. <script language="JavaScript" type="text/JavaScript">
  5. function alsalir(campo){
  6.         var MAX = campo.value.length;
  7.         var STR = campo.value;
  8.         var VAL=0;        
  9.         var i;
  10.         var char;
  11.         if (MAX!=0){
  12.         for (i=0; i<MAX; i++){
  13.            char = Mid(STR, i, 1);
  14.            if (/^\s/.test(char)){
  15.                VAL = 0;    
  16.            }else{
  17.                VAL = 1;
  18.                break;
  19.            }
  20.        }
  21.     }
  22.        if (VAL == 0){
  23.              alert("No has escrito nada");
  24.            campo.value="";
  25.            campo.rows = 2;
  26.        }else{
  27.              alert("Has escrito algo");
  28.         }
  29.    }
  30. function Mid(str, start, len)
  31. {
  32. // Make sure start and len are within proper bounds
  33.    if (start < 0 || len < 0) return "";
  34.    var iEnd, iLen = String(str).length;
  35.    if (start + len > iLen)
  36.           iEnd = iLen;
  37.     else
  38.           iEnd = start + len;
  39.     return String(str).substring(start,iEnd);
  40. }
  41. </head>
  42. <textarea name="areatexto" cols="25" rows="2" id="areatexto" onBlur="alsalir(this)"></textarea>
  43. </body>
  44. </html>

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)

Última edición por quimfv; 17/12/2009 a las 07:22