Foros del Web » Programando para Internet » Javascript »

Cambiar el label por input tiempo real click

Estas en el tema de Cambiar el label por input tiempo real click en el foro de Javascript en Foros del Web. Hola, la idea es hacer click en el texto que dice prueba y este se convierte en un input text, luego al presionar click o ...
  #1 (permalink)  
Antiguo 22/10/2012, 22:39
 
Fecha de Ingreso: octubre-2011
Mensajes: 153
Antigüedad: 12 años, 5 meses
Puntos: 7
Cambiar el label por input tiempo real click

Hola,

la idea es hacer click en el texto que dice prueba y este se convierte en un input text, luego al presionar click o enter este se convierte en lo ingresado, como el siguiente ejemplo, muestro el codigo de tengo.

no me funciona que podra ser ?.


Código Javascript:
Ver original
  1. <script language="javascript">
  2.  
  3. function prueba(){
  4.     texto = document.getElementById("cambio").value
  5.     alert(texto);
  6. }
  7.  
  8. </script>
  9.  
  10. <label id="cambio" onclick="prueba"> Prueba </label> de cambio de texto <br>



Este es mi ejemplo visual.

__________________
Mi mail: [email protected]
  #2 (permalink)  
Antiguo 23/10/2012, 00:46
Avatar de dalttony  
Fecha de Ingreso: octubre-2012
Ubicación: Quibdo, Choco
Mensajes: 8
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Cambiar el label por input tiempo real click

Hola tengo una solucion, lo unico es que utilizo librerias de Jquery que la podes descargar en este link [URL="http://jquery.com/download/"]http://jquery.com/download/[/URL] por si no las tienes, espero que te pueda servir

codigo Javascrip
Código Javascript:
Ver original
  1. var input="<input type='text' id='p'/>"//agregamos el el cuadro de texto
  2.             var label ="<label id='gu'>Se ha guardado lo que ha escrito</label>" //el label que indica que se guardo
  3.             //evento del click del
  4.             $("#cambio").click(function(){
  5.                
  6.                 $("#"+this.id).empty();//borramos el label que dice prueba
  7.                 $("#cuadro").prepend(input);//agrgamos lca caja
  8.                 var inp=$("#p")//obtenemos el selector
  9.                 inp.keydown(function(e){//evento
  10.                     var code= e.keyCode;//obtenemos el codigo del enter
  11.                     if (code==13)
  12.                     {
  13.                             $("#cuadro").prepend(label);//agregamos
  14.                             $("#gu").css("background-color","#FF0");
  15.                             alert($("#gu").text)
  16.                             $("#"+this.id).remove();//quitamos el cuadro
  17.                     }
  18.                 }
  19.                 );
  20.             });

Codigo Html
Código HTML:
Ver original
  1. <div id="cuadro"><label id="cambio" onclick="prueba();" > Prueba </label> de cambio de texto <br></div>

Espero que te sirva
  #3 (permalink)  
Antiguo 23/10/2012, 11:41
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Cambiar el label por input tiempo real click

Vamos a modificar un poco lo de @dalttony, para que funcione correctamente.
Ya que estamos con jQuery vamos a evitarnos eso de utilizar el innecesario evento onclick en el tag label llamando a una función, que lo único que consigue es duplicar el efecto


Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2.    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>titulo</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">
  7. <script type="text/javascript">
  8. //<![CDATA[
  9. $(document).ready(function(){
  10. var input="<input type='text' title='ingrese el nuevo texto y presione enter' id='p'\/>"//agregamos el el cuadro de texto
  11.            var label ="<label id='gu'>Se ha guardado lo que ha escrito<\/label>" //el label que indica que se guardo
  12.            //evento del click del
  13.            $("#cambio").click(function(){
  14.                
  15.                $("#"+this.id).empty();//borramos el label que dice prueba
  16.                $("#cuadro").prepend(input);//agrgamos lca caja
  17.                var inp=$("#p")//obtenemos el selector
  18.                inp.keydown(function(e){//evento
  19.                    var code= e.keyCode;//obtenemos el codigo del enter
  20.                    if (code==13)
  21.                    {
  22.                            $("#cuadro").prepend(label);//agregamos
  23.                            $("#gu").css("background-color","#FF0");
  24.                      //      alert($("#gu").text)
  25.                            $("#"+this.id).remove();//quitamos el cuadro
  26.                    }
  27.                }
  28.                );
  29.            });
  30.  
  31.            });
  32. //]]>
  33. </head>
  34. <div id="cuadro"><label id="cambio" style="cursor: pointer; color: red;" title="Click aquí para cambiar">Prueba</label> de cambio de texto<br /></div>
  35. </body>
  36. </html>
Demo
http://foros.emprear.com/jquerye/labelxinput.html

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Etiquetas: funcion, input, label, real
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 13:49.