Foros del Web » Programando para Internet » Javascript »

como no hacer split(',') en campo que contiene coma?

Estas en el tema de como no hacer split(',') en campo que contiene coma? en el foro de Javascript en Foros del Web. bueno tengo esta funcion que recoge una cadena de ciertos valores de esta forma: results = " Nombre,Direcion,Tel,Correo" el detalle es que si el campo ...
  #1 (permalink)  
Antiguo 31/10/2007, 10:30
Avatar de Gaby_Corr  
Fecha de Ingreso: junio-2005
Mensajes: 672
Antigüedad: 19 años, 5 meses
Puntos: 0
como no hacer split(',') en campo que contiene coma?

bueno tengo esta funcion que recoge una cadena de ciertos valores de esta forma:
results = " Nombre,Direcion,Tel,Correo"
el detalle es que si el campo Direccion contiene una coma!, cuando me hace el
split obviamente lo toma! y lo separa, como puedo hacer que en ese campo no lo haga
o que no tome en cuenta si hay una coma en el campo de Direccion.


funcion:
Código:
function handleHttpResponse() {
    if (http.readyState == 4) {
       if (http.status == 200) {
          if (http.responseText.indexOf('invalid') == -1) {
             // Armamos un array, usando la coma para separar elementos
             results = http.responseText.split(",");
			 alert(results);			 
			 document.getElementById("nombre").value = results[0];
             document.getElementById("usuario").value = results[1];
			 document.getElementById("password").value = results[2];
			 document.getElementById("grupo").value = results[3];
			 document.getElementById("direccion").value = results[4];
			 document.getElementById("telefono").value = results[5];
			 document.getElementById("celular").value = results[6];
			 document.getElementById("correo1").value = results[7];
			 document.getElementById("correo2").value = results[8];				 
			 strCondicion = results[9];	
			 alert('condicion: '+ strCondicion); 
			 alert('Grupo: ' + results[3]); 			 
			
			 activarboton(strCondicion);		 
             enProceso = false;
			
          }
       }
    }
}
__________________
" Recuerda , estas donde debes estar ..."
  #2 (permalink)  
Antiguo 31/10/2007, 10:40
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Re: como no hacer split(',') en campo que contiene coma?

Hola:

Para casos similares, en vez de delimitar los campos con la coma, suelo usar algún otro carácter... por ejemplo "|"... ten en cuenta que split se comporta siempre igual...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 31/10/2007, 11:24
Avatar de Gaby_Corr  
Fecha de Ingreso: junio-2005
Mensajes: 672
Antigüedad: 19 años, 5 meses
Puntos: 0
Re: como no hacer split(',') en campo que contiene coma?

ah ya!, muchas gracias!!
__________________
" Recuerda , estas donde debes estar ..."
  #4 (permalink)  
Antiguo 31/10/2007, 12:06
Avatar de Gaby_Corr  
Fecha de Ingreso: junio-2005
Mensajes: 672
Antigüedad: 19 años, 5 meses
Puntos: 0
Re: como no hacer split(',') en campo que contiene coma?

ahora tengo otra duda

ahora si mi campo direccion, contiene una palabra con acento me pega el siguiente campo que concateno
y lo pone en uno mismo así:

... Direccion &"|"& Telefono &"|"&...

con un ejemplo sería asi como lo hace:

Villa #56 Col. México|8656965

y donde lleva el acento me pone
Villa #56 Col. M?8656965
si se fijan, ya lo pone como un solo valor pero en realidad son 2
ay espero haberme explicado
__________________
" Recuerda , estas donde debes estar ..."
  #5 (permalink)  
Antiguo 03/07/2008, 11:39
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 21 años
Puntos: 1
Respuesta: como no hacer split(',') en campo que contiene coma?

Hola Gaby_Corr, una preguntita, cómo haces para que la página donde haces la consulta a la base de datos envie los valores de la tabla a tu array results??
__________________
Tarecito
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 18:47.