Foros del Web » Programando para Internet » Javascript »

poner la seleccion entre <b> y </b>

Estas en el tema de poner la seleccion entre <b> y </b> en el foro de Javascript en Foros del Web. ¿como puedo hacer esto desde php?: tengo un formulario para enviar mails en html y quiero que al presionar un enlace o un boton de ...
  #1 (permalink)  
Antiguo 11/09/2005, 20:15
Avatar de satake  
Fecha de Ingreso: julio-2004
Mensajes: 140
Antigüedad: 19 años, 9 meses
Puntos: 0
poner la seleccion entre <b> y </b>

¿como puedo hacer esto desde php?:
tengo un formulario para enviar mails en html y quiero que al presionar un enlace o un boton de un formulario me aparezcan, por ejemplo, si selecciono la palabra cualquiera que me deje todo escrito como está, y que me cambie eso por <b>cualquiera</b> para poder enviarlo despues, espero que puedan ayudarme, chau
__________________
:aplauso: www.aponlinevillaguay.com.ar :aplauso:

Cita:
Iniciado por alguien
El arca de Noé fue hecha por principiantes, el Titanic por "profesionales".
  #2 (permalink)  
Antiguo 11/09/2005, 21:08
okram
Invitado
 
Mensajes: n/a
Puntos:
Exclamación Javascript

Hola

Definitivamente esto no tiene nada que ver con php... pero creo q no hay problema en ayudarte... ya luego algun moderador mmovera este tema al foro que le corresponde

Aqui las funciones javascript que se usaran... esto debe ir entre los tags <head> y </head>, o en tu archivo .js
Código HTML:
<script language="JavaScript" type="text/javascript">
function storeCaret(text)
{
	if (typeof(text.createTextRange) != 'undefined')
		text.caretPos = document.selection.createRange().duplicate();
}
function okram(text1, text2)
{

// Aqui la referencia a tu campo textarea que esta siendo editado
var textarea = document.form.msg;

	if (typeof(textarea.caretPos) != "undefined" && textarea.createTextRange)
	{
		var caretPos = textarea.caretPos;
		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text1 + caretPos.text + text2 + ' ' : text1 + caretPos.text + text2;
		caretPos.select();
	}
	else if (typeof(textarea.selectionStart) != "undefined")
	{
		var begin = textarea.value.substr(0, textarea.selectionStart);
		var selection = textarea.value.substr(textarea.selectionStart, textarea.selectionEnd - textarea.selectionStart);
		var end = textarea.value.substr(textarea.selectionEnd);
		var newCursorPos = textarea.selectionStart;
		var scrollPos = textarea.scrollTop;
		textarea.value = begin + text1 + selection + text2 + end;
		if (textarea.setSelectionRange)
		{
			if (selection.length == 0)
				textarea.setSelectionRange(newCursorPos + text1.length, newCursorPos + text1.length);
			else
				textarea.setSelectionRange(newCursorPos, newCursorPos + text1.length + selection.length + text2.length);
			textarea.focus();
		}
		textarea.scrollTop = scrollPos;
	}
	else
	{
		textarea.value += text1 + text2;
		textarea.focus(textarea.value.length - 1);
	}
}
</script> 
EN esta primera parte lo que se hace es definir la funcion StoreCaret() y la funcion okram() XD... SI analizas la segunda, veras como es q trabaja este script... si has seleccionado algo en tu textarea, te añadira los tags al comienzo y al final de tu seleccion, y si no hay nada seleccionado, simplemente insertara ambos tags juntos al final del msg...

Esta funcion okram() requiere de 2 parametros: okram(text1, text2)
text1 sera el tag que va al inicio... en tu caso seria <b>, y text2 el del final (</b>)

Tu formulario basico quedaria asi:
Código HTML:
<form name=form action=send.php method=post>
<textarea name=msg rows="12" cols=60 onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onchange="storeCaret(this);">
</textarea>
</form><br><br>
<a href="javascript:void(0);" onclick="okram('<b>', '</b>'); return false;">Dar formato en negrita</a> 
Es importante que coloques todos los parametros que puse en la etiqueta <textarea>.

Espero que esto te sirva... cualquier duda posteas para ayudarte

Salu2
  #3 (permalink)  
Antiguo 11/09/2005, 22:17
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Movido.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #4 (permalink)  
Antiguo 12/09/2005, 10:12
Avatar de satake  
Fecha de Ingreso: julio-2004
Mensajes: 140
Antigüedad: 19 años, 9 meses
Puntos: 0
upload

me interesa el tema del upload, vos decis que si pongo un cmapo de upload de archivos, me pueden bajar una pagina php?, que tiene que ver una cosa con la otra?
__________________
:aplauso: www.aponlinevillaguay.com.ar :aplauso:

Cita:
Iniciado por alguien
El arca de Noé fue hecha por principiantes, el Titanic por "profesionales".
  #5 (permalink)  
Antiguo 12/09/2005, 10:13
Avatar de satake  
Fecha de Ingreso: julio-2004
Mensajes: 140
Antigüedad: 19 años, 9 meses
Puntos: 0
gracias

me sirvió el códgio que me diste, con una pequeña modificación pude lograr lo que buscaba
__________________
:aplauso: www.aponlinevillaguay.com.ar :aplauso:

Cita:
Iniciado por alguien
El arca de Noé fue hecha por principiantes, el Titanic por "profesionales".
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 21:49.