Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/04/2010, 03:45
dannytm
 
Fecha de Ingreso: diciembre-2009
Mensajes: 56
Antigüedad: 15 años, 2 meses
Puntos: 0
No cambia el contenido del Input

Tengo un código que cambia el contenido del Input que estás editando al insertar un carácter no permitido. Cuando insertas un carácter se activa el filtro mediante un onkeyup. Me detecta todo bien, y el resultado es el deseado, el problema es que no me cambia el contenido. En cambio si edito el código para que el resultado lo escriba en el otro input, si que funciona. Puede ser que haya algún conflicto con el onkeyup.

Aquí está el código.

Código Javascript:
Ver original
  1. function transform(text){
  2.     var text = text;
  3.     var largo = text.length;
  4.     var newtext = "";
  5.     for(var i = 0 ; i < largo ; i++){
  6.         var letra = text[i];
  7.         if(letra == "!" || letra == "?" || letra == "¿" || letra == "¡" || letra == "."  || letra == "," || letra == "[" || letra == "]" || letra == '"' || letra == "-" || letra == "º" || letra == "ª" || letra == "#" || letra == "$" || letra == "%" || letra == "/" || letra == "(" || letra == ")" || letra == "=" || letra == "'" || letra == "<" || letra == ">" || letra == "*" || letra == ";" || letra == ":" || letra == "@" || letra == "·" || letra == "+" ){
  8.             //alert('No se pueden usar los siguientes carácteres: ! ¡ ¿ ? . , ; : [ ] { } " - º ª @ · # $ % & / ( ) = < > * +')
  9.         }else{
  10.             newtext = newtext+letra;   
  11.         }
  12.     }
  13.     document.add_photos.nombre.value = newtext;
  14. }

Código HTML:
Ver original
  1. <form id="add_photos" name="add_photos" method="post" action="">
  2.           <table width="800" border="0" cellspacing="0" cellpadding="0">
  3.             <tr>
  4.               <td width="157">&nbsp;</td>
  5.               <td width="212">&nbsp;</td>
  6.               <td width="281">&nbsp;</td>
  7.               <td width="150">&nbsp;</td>
  8.             </tr>
  9.             <tr>
  10.               <td colspan="2" class="texto16">NUEVO TIPO DE ALOJAMIENTO </td>
  11.               <td class="texto16"></td>
  12.               <td class="texto16"><table width="150" border="0" cellspacing="0" cellpadding="0">
  13.                 <tr>
  14.                   <td width="95" align="right"><a href="categorias.php" class="texto12">atras</a></td>
  15.                   <td width="55">&nbsp;</td>
  16.                 </tr>
  17.               </table></td>
  18.             </tr>
  19.             <tr>
  20.               <td>&nbsp;</td>
  21.               <td>&nbsp;</td>
  22.               <td>&nbsp;</td>
  23.               <td align="right" valign="middle">&nbsp;</td>
  24.             </tr>
  25.             <tr>
  26.               <td class="texto12">Nombre del tipo:</td>
  27.               <td><input name="nombre" type="text" class="input_text" id="name" onkeyup="transform(this.value)" value="<?php echo $nombre; ?>" /></td>
  28.               <td>&nbsp;</td>
  29.               <td>&nbsp;</td>
  30.             </tr>
  31.             <tr>
  32.               <td>&nbsp;</td>
  33.               <td>&nbsp;</td>
  34.               <td>&nbsp;</td>
  35.               <td>&nbsp;</td>
  36.             </tr>
  37.             <tr>
  38.               <td class="texto12">Distribuci&oacute;n:</td>
  39.               <td><input name="distribucion" type="text" class="input_text" id="distribucion" value="<?php echo $distribucion; ?>" /></td>
  40.               <td>&nbsp;</td>
  41.               <td>&nbsp;</td>
  42.             </tr>
  43.             <tr>
  44.               <td>&nbsp;</td>
  45.               <td>&nbsp;</td>
  46.               <td>&nbsp;</td>
  47.               <td>&nbsp;</td>
  48.             </tr>
  49. </form>

Muchas gracias.