Foros del Web » Programando para Internet » Javascript »

No funciona replace en textbox

Estas en el tema de No funciona replace en textbox en el foro de Javascript en Foros del Web. Saludos a todos tengo una pequeño escript que vi en este foro para quitar los acentos y funciona perefectamente en un html pero al quererlo ...
  #1 (permalink)  
Antiguo 09/04/2011, 13:51
 
Fecha de Ingreso: diciembre-2003
Mensajes: 595
Antigüedad: 20 años, 3 meses
Puntos: 1
No funciona replace en textbox

Saludos a todos tengo una pequeño escript que vi en este foro para quitar los acentos y funciona perefectamente en un html pero al quererlo usar en un ASP.net con controles Net no me funciona, esta es la funcion

function quitaacentos(origen, destino) {
var text = document.getElementById(origen).value.toLowerCase( );
text = text.replace(/[áàäâå]/g, 'a');
text = text.replace(/[éèëê]/g, 'e');
text = text.replace(/[íìïî]/g, 'i');
text = text.replace(/[óòöô]/g, 'o');
text = text.replace(/[úùüû]/g, 'u');
text = text.replace(/[ýÿ]/g, 'y');
text = text.replace(/[ñ]/g, 'n');
text = text.replace(/[ç]/g, 'c');
text = text.replace(/['"]/g, '');
text = text.replace(/[^a-zA-Z0-9-]/g, ' ');
text = text.replace(/\s+/g, '_');
text = text.replace(/(_)$/g, '');
text = text.replace(/^(_)/g, '');
document.getElementById(destino).value = text;

return false;

}

y asi lo estoy usando mas no se que estoy haciendo mal


<asp:TextBox ID="TextBox3" onChange="return quitaacentos(this.value,this.value)" runat="server"></asp:TextBox>
  #2 (permalink)  
Antiguo 09/04/2011, 15:17
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 14 años, 10 meses
Puntos: 1485
Respuesta: No funciona replace en textbox

buenas,
fijate en el segundo parametro de quitaacentos es el destino a donde debe escribirse el contenido modificado. en tu caso, le estas pasando el propio string en lugar de una ID. deberia ser la ID del elemento textbox.

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 11/04/2011, 10:35
 
Fecha de Ingreso: diciembre-2003
Mensajes: 595
Antigüedad: 20 años, 3 meses
Puntos: 1
Respuesta: No funciona replace en textbox

Cita:
Iniciado por zerokilled Ver Mensaje
buenas,
fijate en el segundo parametro de quitaacentos es el destino a donde debe escribirse el contenido modificado. en tu caso, le estas pasando el propio string en lugar de una ID. deberia ser la ID del elemento textbox.

asi tal cual como lo tengo funciona con una paguina html pero con una paguina asp.net con controles Net no es por eso mi pregunta inicial
  #4 (permalink)  
Antiguo 11/04/2011, 14:27
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 14 años, 10 meses
Puntos: 1485
Respuesta: No funciona replace en textbox

verifica si .Net de alguna forma esta modificando el contenido, o sea revisa el codigo fuente generado. pero sigo insistiendo en lo antes indicado. no hay nada mas que pueda hacer porque no trabajo en .Net.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 11/04/2011, 15:19
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 9 meses
Puntos: 1012
Respuesta: No funciona replace en textbox

Cita:
Iniciado por hunabku Ver Mensaje
asi tal cual como lo tengo funciona con una paguina html pero con una paguina asp.net con controles Net no es por eso mi pregunta inicial
puede que funcione 1 vez entre 1 millón
Cita:
function quitaacentos(origen, destino) {
var text = document.getElementById(origen).value.toLowerCase( );
text = text.replace(/[áàäâå]/g, 'a');
text = text.replace(/[éèëê]/g, 'e');
text = text.replace(/[íìïî]/g, 'i');
text = text.replace(/[óòöô]/g, 'o');
text = text.replace(/[úùüû]/g, 'u');
text = text.replace(/[ýÿ]/g, 'y');
text = text.replace(/[ñ]/g, 'n');
text = text.replace(/[ç]/g, 'c');
text = text.replace(/['"]/g, '');
text = text.replace(/[^a-zA-Z0-9-]/g, ' ');
text = text.replace(/\s+/g, '_');
text = text.replace(/(_)$/g, '');
text = text.replace(/^(_)/g, '');
document.getElementById(destino).value = text;

return false;

}


<asp:TextBox ID="TextBox3" onChange="return quitaacentos(this.value,this.value)" runat="server"></asp:TextBox>
como te dice zerokilled, el segundo valor que le pasas a la función, es el valor del control

pd: .net no modifica el html resultante
  #6 (permalink)  
Antiguo 12/04/2011, 07:43
 
Fecha de Ingreso: diciembre-2003
Mensajes: 595
Antigüedad: 20 años, 3 meses
Puntos: 1
Respuesta: No funciona replace en textbox

gracias por su respuesta y creo que el problema es pporque no me reconoce la funcion replace dentro del javascript esa es mi unica explicacion ya probre con lo que san google me dice y nada

Etiquetas: replace, textbox
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 23:51.