Foros del Web » Programando para Internet » Javascript »

copiar y pegar a otro campo solo una parte del texto

Estas en el tema de copiar y pegar a otro campo solo una parte del texto en el foro de Javascript en Foros del Web. sería una convinación de substring() y copiar tengo dos campos: uno dirección y el otro video. quiero que en el campo del formulario dirección el ...
  #1 (permalink)  
Antiguo 19/03/2010, 13:05
Avatar de pichichus14  
Fecha de Ingreso: marzo-2010
Ubicación: Entre Ríos
Mensajes: 46
Antigüedad: 14 años, 8 meses
Puntos: 0
copiar y pegar a otro campo solo una parte del texto

sería una convinación de substring() y copiar

tengo dos campos:
uno dirección y el otro video. quiero que en el campo del formulario dirección el usuario copie la dirección completa de youtube.
y en el otro cuando hago click en un botón me copie esto:
"{youtube}"+aqui iría la nueva variable JS que recortó la direccón de youtube+"{/youtube}"

(las comillas son solo para insertar el texto)

el resultado tendría que ser:

campo dirección: http://www.youtube.com/watch?v=xitFS24joao
luego del input:
campo video: {youtube}xitFS24joao{/youtube}

Estuve probando pero no me resultaba no se nada casi de programación

Gracias
  #2 (permalink)  
Antiguo 19/03/2010, 13:50
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: copiar y pegar a otro campo solo una parte del texto

Hola

Antes de substr has de usar lastIndexOf para saber la posición

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;" />
  #3 (permalink)  
Antiguo 19/03/2010, 13:57
Avatar de pichichus14  
Fecha de Ingreso: marzo-2010
Ubicación: Entre Ríos
Mensajes: 46
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: copiar y pegar a otro campo solo una parte del texto

la verdad no conozco mucho par que sirve lastIndexOf. Ya lo resolví hice esto:

<html><head>
<script language="javascript">
function copiar(fuente, destino)
{ document.getElementById(destino).value= "{youtube}"+(document.getElementById(fuente).value .substring(31,42))+"{/youtube}";
}
</script>

</head><body>

<form>
<input name="campo1" type="text" id="direccion">
<input type="button" value="Copiar" onClick="copiar('direccion', 'video');">
<input name="campo2" type="text" id="video">
</form>

</body></html>
  #4 (permalink)  
Antiguo 19/03/2010, 14:01
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: copiar y pegar a otro campo solo una parte del texto

Hola

Eso que hicistes está bien siempre que la constante sea de 11 caracteres, pero ¿y si son 10 o 12 o 9?

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;" />
  #5 (permalink)  
Antiguo 19/03/2010, 14:19
Avatar de pichichus14  
Fecha de Ingreso: marzo-2010
Ubicación: Entre Ríos
Mensajes: 46
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: copiar y pegar a otro campo solo una parte del texto

Cita:
Iniciado por Adler Ver Mensaje
pero ¿y si son 10 o 12 o 9?
estaría al horno... y te preguntaría de nuevo jaja

pero espero q youtube no me cambie eso... y si lo hacen les presento cargos judiciales
  #6 (permalink)  
Antiguo 19/03/2010, 14:58
 
Fecha de Ingreso: agosto-2004
Mensajes: 157
Antigüedad: 20 años, 3 meses
Puntos: 5
Respuesta: copiar y pegar a otro campo solo una parte del texto

Hola pichichus14 y Adler

Código:
<html><head>
<script language="javascript">
function copiar(fuente, destino){
 var msk = /[\?&]v=([^\s&]+)/g; 
 var value = ''; 
 if(fuente.match(msk)) {

	 value = RegExp.$1; 
 }
 destino.value= "{youtube}"+ value +"{/youtube}";
}
</script>

</head><body>

<form>
<input name="direccion" type="text" id="direccion" value='http://www.youtube.com/watch?v=xitFS24joao' >
<input type="button" value="Copiar" onClick="copiar(this.form.direccion.value, this.form.video);">
<input name="video" type="text" id="video">
</form>

</body></html>
De esta forma no te tienes que preocupar de la longitud del string y te evitara tener que preguntar de nuevo .

Salu2
  #7 (permalink)  
Antiguo 19/03/2010, 15:38
Avatar de pichichus14  
Fecha de Ingreso: marzo-2010
Ubicación: Entre Ríos
Mensajes: 46
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: copiar y pegar a otro campo solo una parte del texto

lo que pasa es que hay algunos videos que poseen la siguiente dirección:
http://www.youtube.com/watch?v=Y_1jrHBj7mA&feature=related donde "&feature=related" ya serían caracteres excedentes

es el caso de los videos destacados, ese código de otro planeta () que pusiste, lo soportaría si me copian la dirección así? quizás es más seguro restringirlo a los 11 caracteres que hasta donde sé siempre es fijo ese ID de los videos.

Gracias a los dos.

Etiquetas: copiar, pegar, campos
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:20.