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 originalfunction transform(text){
var text = text;
var largo = text.length;
var newtext = "";
for(var i = 0 ; i < largo ; i++){
var letra = text[i];
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 == "+" ){
//alert('No se pueden usar los siguientes carácteres: ! ¡ ¿ ? . , ; : [ ] { } " - º ª @ · # $ % & / ( ) = < > * +')
}else{
newtext = newtext+letra;
}
}
document.add_photos.nombre.value = newtext;
}
Código HTML:
Ver original<form id="add_photos" name="add_photos" method="post" action=""> <table width="800" border="0" cellspacing="0" cellpadding="0"> <td width="157"> </td> <td width="212"> </td> <td width="281"> </td> <td width="150"> </td> <td colspan="2" class="texto16">NUEVO TIPO DE ALOJAMIENTO
</td> <td class="texto16"></td> <td class="texto16"><table width="150" border="0" cellspacing="0" cellpadding="0"> <td width="95" align="right"><a href="categorias.php" class="texto12">atras
</a></td> <td width="55"> </td> <td align="right" valign="middle"> </td> <td class="texto12">Nombre del tipo:
</td> <td><input name="nombre" type="text" class="input_text" id="name" onkeyup="transform(this.value)" value="<?php echo $nombre; ?>" />
</td> <td class="texto12">Distribuci
ón:
</td> <td><input name="distribucion" type="text" class="input_text" id="distribucion" value="<?php echo $distribucion; ?>" />
</td>
Muchas gracias.