Foros del Web » Programando para Internet » Javascript » Frameworks JS »

hacer efecto

Estas en el tema de hacer efecto en el foro de Frameworks JS en Foros del Web. hola a todos, se me ocurrió una idea para hacer una web mas interesante, es la siguiente, si yo muestro este texto: hola que tal ...
  #1 (permalink)  
Antiguo 15/12/2011, 05:50
 
Fecha de Ingreso: marzo-2011
Mensajes: 226
Antigüedad: 13 años, 8 meses
Puntos: 1
hacer efecto

hola a todos, se me ocurrió una idea para hacer una web mas interesante, es la siguiente,

si yo muestro este texto:

hola que tal


y le pongo un botón al lado para poder modificarlo en plan:

hola que tal <bt modifica texto>

entonces al pulsar q el sitio donde esta el texto se convirtiera automáticamente en un form para introducir un nuevo texto o modificar el texto.

alguien sabe si Jquery permite hacer esto?

o como seria una posible solución para hacerlo
  #2 (permalink)  
Antiguo 15/12/2011, 07:23
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: hacer efecto

tienes 2 formas:

1 - tener un input oculto que en el onchange cambie el innerHTML de la capa (div), que se muestre al hacer click en dicho botón

2 - habilitar el contentEditable de dicha capa, (algunas versiones de navegadores no soportan esta característica)

¿jQuery?: para ésto no es necesario
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 15/12/2011, 10:43
 
Fecha de Ingreso: marzo-2011
Mensajes: 226
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: hacer efecto

gracias por contestar, estuve indagando en lo que me dijiste y me decanto por la segunda opción ya que html5 permite hacer esto, pero yo tengo un matiz a parte que en todos los ejemplo que vi no hace, veras, mi idea es como tu bien me indicaste esa, pero yo kiero que solo digamos un usuario que sea administrador vea ese botón(lo cual ya tengo echo), pero mi idea es q solo le deje cambiar el texto si pulsa en el botón, no si pone el botón encima del div. para esto si tendría q usar javascript (Jquery) no?
  #4 (permalink)  
Antiguo 15/12/2011, 13:55
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: hacer efecto

lo único que necesitas es establecer un ID único por DIV, de modo que puedas obtenerlo y cambiar la propiedad, el botón puede estar en donde sea, no requiere que esté anidado dentro de la capa.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 18/12/2011, 18:05
 
Fecha de Ingreso: marzo-2011
Mensajes: 226
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: hacer efecto

estuve probando a hacer lo q me dijiste y va genial, pero el problema q tengo es q yo quiero guardar ese texto para que quede de forma permanente en la pagina, y no q al recargar se borre, como podría hacer para guardarlo en una base de datos x ejemplo ?
  #6 (permalink)  
Antiguo 18/12/2011, 18:37
 
Fecha de Ingreso: marzo-2011
Mensajes: 226
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: hacer efecto

conseguí hacer q me edite el contenido, pero mi idea como bien dije en el post anterior seria guardarlo en una base de datos o así para que tenga consistencia y no se borre al cerrar o recargar la pagina.

Código Javascript:
Ver original
  1. function toggleEdit() {
  2.                          var newState = !editableText.isContentEditable
  3.                          editableText.contentEditable = newState
  4.                          editableText.className = (newState) ? "editing" : "normal"
  5.                          editBtn.innerText = (newState) ? "guardar" : "editar"
  6.                         }
este es el codigo q utilizo, pero mi idea es ahora q una vez pulse en guardar, lo envíe a una pagina php, mediante tipo json para después allí procesarlo y guardarlo en una base de datos, pero no se como puedo hacer para q una vez cambie el botón de estado y pase a guardar envíe los datos
  #7 (permalink)  
Antiguo 19/12/2011, 06:33
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: hacer efecto

use AJAX, o envié datos por GET u POST (formularios) de forma tradicional
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #8 (permalink)  
Antiguo 19/12/2011, 09:51
 
Fecha de Ingreso: marzo-2011
Mensajes: 226
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: hacer efecto

estoy haciendo eso, pero no doy obtenido el valor de un <p>.

y hago $("#parrafo1").text();

pero no se xq no me cojee el valor
  #9 (permalink)  
Antiguo 19/12/2011, 10:22
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: hacer efecto

prueba con innerHTML, para lo que jquery sería html()
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #10 (permalink)  
Antiguo 20/12/2011, 06:17
 
Fecha de Ingreso: marzo-2011
Mensajes: 226
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: hacer efecto

ya consigo q envie el texto a otra pagina php para procesarla pero tengo un problema, el estring q envio es recibido por $post pero cuando lo guarda en la base de datos no me aparece nada, es decir me guarda un valor en blanco

a q puede ser debido esto?

te pongo el codigo de como lo hice haber si tu ves algún fallo q yo no logro ver

Código Javascript:
Ver original
  1. $("#editBtn").click(function(event){
  2.                             if(editBtn.innerText != "guardar"){
  3.                                 var txt = $("#parrafo1");
  4.                                  var textoFinal = txt.text();
  5.                                  event.preventDefault();
  6.                                  
  7.                                 $.ajax({
  8.                                     url: 'modificaTextoInicio.php',
  9.                                     type: 'POST',
  10.                                     data: {datos : textoFinal},
  11.                                     success: function(){
  12.                                         alert("texto modificado");
  13.                                         }
  14.                                 });
  15.                             }
  16.                         });
  17.                     </script>
  #11 (permalink)  
Antiguo 20/12/2011, 07:47
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: hacer efecto

revisa si en efecto a php le llega la variable post en blanco, a lo sumo debes de postear ese codigo, use una consola de depuración como Firebug
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #12 (permalink)  
Antiguo 20/12/2011, 07:52
 
Fecha de Ingreso: marzo-2011
Mensajes: 226
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: hacer efecto

hice un echo de la variable post y no muestra nada, pero en firebug aparece en datos el texto, pero en la variable q se pasa por post aparece muchos caracteres raros es decir:

esto es lo q me muestra firebug:

Parametersapplication/x-www-form-urlencoded
datos
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever sincehsjadhfjsadfsadf the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.


Source
datos=%0A++++++++++++++++++++%09Lorem+Ipsum+is+sim ply+dummy+text+of+the+printing+and+typesetting+ind ustry.+Lorem+Ipsum+has+been+the+industry's+standar d+dummy+text+ever+sincehsjadhfjsadfsadf+the+1500s% 2C+when+an+unknown+printer+took+a+galley+of+type+a nd+scrambled+it+to+make+a+type+specimen+book.++%0A %09%09%09%09%09++++++++++++++++++++%0A++++++++++++ ++++++++
  #13 (permalink)  
Antiguo 20/12/2011, 08:18
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: hacer efecto

recuerde que debe de escapar la data pasada por POST, use jQuery.Serialize() en su caso
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #14 (permalink)  
Antiguo 20/12/2011, 08:39
 
Fecha de Ingreso: marzo-2011
Mensajes: 226
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: hacer efecto

pero serialize() es para recoger los datos de formularios, y yo no tengo ningún formulario, lo q hago es recoger el valor de <p> y lo envio por post,

como podría hacer un serialize() sin tener un form?
  #15 (permalink)  
Antiguo 20/12/2011, 09:59
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: hacer efecto

var textoFinal = $("#parrafo1").serialize();

si en dado caso no funciona, también existe la función nativa escape(), aunque la función jQuery.param podría ayudar:

http://api.jquery.com/jQuery.param/
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #16 (permalink)  
Antiguo 20/12/2011, 11:30
 
Fecha de Ingreso: marzo-2011
Mensajes: 226
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: hacer efecto

ya consegui solucionar el problema, com param(), gracias por tu aporte

Etiquetas: efecto, jquery
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 14:24.