Foros del Web » Programando para Internet » Javascript »

No cambia el contenido del Input

Estas en el tema de No cambia el contenido del Input en el foro de Javascript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 13/04/2010, 03:45
 
Fecha de Ingreso: diciembre-2009
Mensajes: 56
Antigüedad: 14 años, 4 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.
  #2 (permalink)  
Antiguo 13/04/2010, 04:28
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: No cambia el contenido del Input

Hola

Mira, con expresiones regulares todo es mas sencillo

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Etiquetas: contenido, input, cambios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:02.