Foros del Web » Programando para Internet » Javascript »

Funcion recorre palabra hasta encontrar caracter

Estas en el tema de Funcion recorre palabra hasta encontrar caracter en el foro de Javascript en Foros del Web. Hola estoy con ASP y necesitaría una funcion que teniendo un texto del tipo: TEXTO1*TEXTO2 recorra toda la cadena y me muestre el texto hasta ...
  #1 (permalink)  
Antiguo 12/11/2008, 04:52
 
Fecha de Ingreso: mayo-2007
Mensajes: 239
Antigüedad: 16 años, 10 meses
Puntos: 0
Funcion recorre palabra hasta encontrar caracter

Hola estoy con ASP y necesitaría una funcion que teniendo un texto del tipo:
TEXTO1*TEXTO2 recorra toda la cadena y me muestre el texto hasta que encuentre el asterisco, es decir, solo TEXTO1.

Y tambien necesitaría otra funcion para que me muestre el contenido despues del '*' para meter cada uno en un textbox.

Con que funcion podría hacerlo? strlen? split?? algun ejemplo o web con algo similar? gracias, un saludo!!!
  #2 (permalink)  
Antiguo 12/11/2008, 05:59
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 15 años, 5 meses
Puntos: 66
Respuesta: Funcion recorre palabra hasta encontrar caracter

Hola piskui,

En este caso lo mejor es usar split porque crea un array separado por el caracter que quieras. en tu caso "TEXTO1*TEXTO2*...." te crearía un x(1) = "TEXTO1" x(2) = "TEXTO2" etc.

Salu2
  #3 (permalink)  
Antiguo 12/11/2008, 06:26
 
Fecha de Ingreso: mayo-2007
Mensajes: 239
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Funcion recorre palabra hasta encontrar caracter

con split lo he intentado pero es que no sé porqué no me cambia la variable que recibe del asp, te explico:
Tengo una pagina ASP y una HTML que es una plantilla, el caso es que recibe una variable llamada $Campo_MIL$ y esa variable es la que contiene el TEXTO1*TEXTO2,
Entonces le aplico el split a $Campo_MIL$ y no aparece nada en el textboxt1, el codigo seria algo así, a ver si tu puedes ayudarme en que falla.

Código PHP:
<script type="text/javascript">
Dim pru as String
pru 
split($Campo_MIL$, '*')
'la siguiente linea es el texboxt1 donde debe mostrarse TEXTO1
document.getElementById('
titulo1).value pru(1);</script> 
Al document.getElement....si le meto alguna funcion no funciona pero si le asigno el valor de la caja de texto con valor TEXTO1*TEXTO2 si lo coje, esto si lo coje:
document.getElementById('titulo1').value = document.getElementById('CAMPO_MIL').value;

gracias por tu ayuda, un saludo.
  #4 (permalink)  
Antiguo 12/11/2008, 06:30
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: Funcion recorre palabra hasta encontrar caracter

ojo, en javascript no es pru(1) sino pru[1] (corchete en vez de paréntesis)
  #5 (permalink)  
Antiguo 12/11/2008, 06:39
 
Fecha de Ingreso: mayo-2007
Mensajes: 239
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Funcion recorre palabra hasta encontrar caracter

ok, gracias soy nuevo en javascript y no sabia, sigue sin funcionar, y tengo una nueva duda....

el texbox tiene este codigo:
Código PHP:
<input class="Casilla" type="text" name="Titulo1" id="Titulo1" maxlength="2000" value="$titulo1$" style="width:390px"></td
en esta orden que deberia poner? el value? el id?el name? en lo que esta en rojo...con "document.getElementById('titulo1').value" no funciona

Código PHP:
pru split([COLOR="Red"][B]$Campo_MIL$[/B][/COLOR], '*'
  #6 (permalink)  
Antiguo 12/11/2008, 06:42
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: Funcion recorre palabra hasta encontrar caracter

Estás mezclando demasaiados lenguajes (o eso parece). Te paso un enlace para que veas cómo funciona split: http://www.w3schools.com/jsref/jsref_split.asp
  #7 (permalink)  
Antiguo 12/11/2008, 06:58
 
Fecha de Ingreso: mayo-2007
Mensajes: 239
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Funcion recorre palabra hasta encontrar caracter

cierto no sabia que se declaraban variables con 'var', ya consegui que me devolviera la cadena entera.
Pero para que me devuelva con un array solo una parte no la devuelve, el codigo es este:

Código PHP:
var str split(document.getElementById('titulo').value"*")
document.getElementById('titulo1').value str[1];</script> 
gracias por tu ayuda Panino
  #8 (permalink)  
Antiguo 12/11/2008, 07:46
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: Funcion recorre palabra hasta encontrar caracter

Probá así:
Código PHP:
var str document.getElementById('titulo').value.split('*');
document.getElementById('titulo1').value str[1]; 
  #9 (permalink)  
Antiguo 12/11/2008, 08:21
 
Fecha de Ingreso: mayo-2007
Mensajes: 239
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Funcion recorre palabra hasta encontrar caracter

así era me funcionó perfecto, yo es que javascript no he tocado mucho,

Muchas Gracias por la ayuda Panino5001!!
  #10 (permalink)  
Antiguo 12/11/2008, 08:23
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: Funcion recorre palabra hasta encontrar caracter

me alegra que te haya servido ;)
  #11 (permalink)  
Antiguo 12/11/2008, 08:28
 
Fecha de Ingreso: mayo-2007
Mensajes: 239
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Funcion recorre palabra hasta encontrar caracter

una cosa panino, sobre el campo inicial.....con que funcion o codigo javascript puedo cambiar el asterisco por un espacio???
de: 'TEXTO1*TEXTO2' cambiarlo por 'TEXTO1 TEXTO2'

Es que en otro sitio debo mostrar el titulo completo, y sin el caracter * (que lo uso como separador). Puedes orientarme? gracias de nuevo.
  #12 (permalink)  
Antiguo 12/11/2008, 08:29
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: Funcion recorre palabra hasta encontrar caracter

join hace el camino inverso:
Código PHP:
var str document.getElementById('titulo').value.split('*').join(' ');
alert(str); 
  #13 (permalink)  
Antiguo 12/11/2008, 08:50
 
Fecha de Ingreso: mayo-2007
Mensajes: 239
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Funcion recorre palabra hasta encontrar caracter

ok gracias, lo he probado y no consigo dar con ello, seguiré probando a ver.
Es que el codigo muestra una variable que recibe y no se como aplicar eso a la variable, he intentado así pero no funciona:

Código PHP:
$#if campo_Titulo <> &quot;&quot;$
                            
   
<script type="text/javascript">
                                
var 
tit $campo_Titulo$ <-variable que recibo con TEXTO1*TEXTO2
var str tit.value.split('*').join(' '); 
                            
   
</script> 
el codigo inicial es:

Código PHP:
$#if campo_Titulo <> &quot;&quot;$
      
$campo_Titulo$
$
#else$
 
.... 
voy a ver si consigo dar con ello, gracias por tu ayuda!!
  #14 (permalink)  
Antiguo 12/11/2008, 08:54
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: Funcion recorre palabra hasta encontrar caracter

Si es una variable que contiene la cadena, entonces no iría el .value, que sólo se usa para tomar el valor de un campo de formulario.
Entonces sería:
Código PHP:
variable.split('*').join(' '):
//equivalente a ('texto1*texto2').split('*').join(' '); 
  #15 (permalink)  
Antiguo 12/11/2008, 09:10
 
Fecha de Ingreso: mayo-2007
Mensajes: 239
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Funcion recorre palabra hasta encontrar caracter

eso lo probé lo que pasa es que como muestro el valor de la variable o de $campo_titulo$ fuera del javascript? una vez quitado el *.
porque inicialmente se muestra con $Campo_titulo$

Código PHP:
$#if campo_Titulo <> &quot;&quot;$
                            
<script type="text/javascript"
                            
$Campo_titulo$ = $campo_Titulo$.split('*').join(' '); 
 
</script>
$campo_titulo$ <--aqui es donde no me coje el nuevo valor!!!! 
  #16 (permalink)  
Antiguo 12/11/2008, 09:17
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: Funcion recorre palabra hasta encontrar caracter

No logro seguirte. Una vez que hacés la conversión hay que ver que necesitás hacer con ella (si colocarla como valor de un campo de formulario: document.nombreForm.nombreCampo.value=valor; si asignarla al html de un elemento: document.getElementById('idElemento').innerHTML=va lor;)
  #17 (permalink)  
Antiguo 12/11/2008, 09:35
 
Fecha de Ingreso: mayo-2007
Mensajes: 239
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Funcion recorre palabra hasta encontrar caracter

es que la pagina html está enlazada con una ASP y es de esta de donde coje la variable $Campo_Titulo$ y se la manda así, $Campo_Titulo$.
Y yo lo que quiero es modificar esa variable quitandola el asterisco y mostrarla, por eso hago el split mediante javascript, pero luego no se cmo mostrarla porque no va en un combo ni nada...

te copio el codigo inicial para que lo veas:

$#if campo_Titulo <> &quot;&quot;$
$campo_Titulo$
$#else$
  #18 (permalink)  
Antiguo 12/11/2008, 09:38
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Funcion recorre palabra hasta encontrar caracter

Primero, ¿estas realmente imprimiendo tu variable de ASP dentro de código Javascript?... porque debes hacerlo. Segundo, a tu pregunta ya respondió Panino5001. La variable en sí no se va a mostrar en ninguna parte de la página, tú debes indicarle donde debe mostrarse.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #19 (permalink)  
Antiguo 13/11/2008, 02:57
 
Fecha de Ingreso: mayo-2007
Mensajes: 239
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Funcion recorre palabra hasta encontrar caracter

ya lo consegui, pero ahora tengo una nueva duda....suponiendo que TEXTO2 no existe, entonces str[1] es null.
Me devuelve "undefined" y quiero que en el caso de que sea undefined lo convierta en vacio " " pues algo tan sencillo como esto no lo hace en javascript, lo hice con este codigo:

Código PHP:
var str document.getElementById('titulo').value.split('   '); 
document.getElementById('titulo1').value str[0];
document.getElementById('titulo2').value str[1];  
[
B]if  (document.getElementById('titulo2').value  == undefined) { <-he probado con null
 document
.getElementById('titulo2').value " ";}[/B
  #20 (permalink)  
Antiguo 13/11/2008, 03:34
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: Funcion recorre palabra hasta encontrar caracter

Probá algo así:
Código PHP:
document.getElementById('titulo2').value str[1] || ''
  #21 (permalink)  
Antiguo 13/11/2008, 03:54
 
Fecha de Ingreso: mayo-2007
Mensajes: 239
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Funcion recorre palabra hasta encontrar caracter

perfecto de nuevo! ya no aparece, muchas gracias!!
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 16:00.