Foros del Web » Programando para Internet » Javascript »

convertir DIV en un imput

Estas en el tema de convertir DIV en un imput en el foro de Javascript en Foros del Web. Tengo un <div nombre"cuenta">0</div> necesito poder enviar por un formulario el contenido de este div... Como puedo hacer sin tener que utilizar un elemento de ...
  #1 (permalink)  
Antiguo 12/02/2008, 09:55
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 17 años
Puntos: 2
Exclamación convertir DIV en un imput

Tengo un <div nombre"cuenta">0</div> necesito poder enviar por un formulario el contenido de este div...

Como puedo hacer sin tener que utilizar un elemento de formulario, o sea, lo que quiero es que el formulario me tome el contenido del div y que me lo envie...

AYuda Plis
  #2 (permalink)  
Antiguo 12/02/2008, 10:03
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 11 meses
Puntos: 772
Re: convertir DIV en un imput

Hola cmarrero

Que yo sepa no se puede, puedes pasar el contenido del div a un campo oculto y luego enviar el formulario.

Saludos,
  #3 (permalink)  
Antiguo 12/02/2008, 10:08
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 17 años
Puntos: 2
Exclamación Re: convertir DIV en un imput

Lo que pasa es que muestro una cuenta regresiva en el div...

<script>
var timeLimit = 4; //tiempo en minutos
var conteo = new Date(timeLimit * 60000);

function inicializar(){
document.getElementById('cuenta').childNodes[0].nodeValue =
conteo.getMinutes() + ":" + conteo.getSeconds();
}

function cuenta(){
intervaloRegresivo = setInterval("regresiva()", 1000);
}

function regresiva(){
if(conteo.getTime() > 0){
conteo.setTime(conteo.getTime() - 1000);
}else{
clearInterval(intervaloRegresivo);
alert("Fin");
}

document.getElementById('cuenta').childNodes[0].nodeValue =
conteo.getMinutes() + ":" + conteo.getSeconds();
}

onload = inicializar;
</script>

<div id=cuenta >0</div>

Lo que deseo es enviar el contenido del div por un formulario..

O si tienen alguna otra manera de hacerlo leo propuestas.....

es una cuenta regresiva que me muestra desde 4 minutos hacia atras...
  #4 (permalink)  
Antiguo 12/02/2008, 10:22
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 11 meses
Puntos: 772
Re: convertir DIV en un imput

Hola de nuevo.

A ver si esto te ayuda:

Código:
<form onsubmit = "txt.value = document.getElementById('cuenta').innerHTML">
<input type="hidden" name="txt" />
<div id="cuenta">0</div>
<input type="submit" />
</form>
Saludos,
  #5 (permalink)  
Antiguo 13/02/2008, 05:44
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 17 años
Puntos: 2
Exclamación Re: convertir DIV en un imput

Como hago para que este script cuando la cuenta llegue a 0 me envie el formulario...

Y por lo que veo no tiene un action o sea no va a ninguna pagina, como hago para que me lo envie a 3paso.php los datos del formulario....

Slaudos y gracia por la ayuda
  #6 (permalink)  
Antiguo 13/02/2008, 06:30
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 17 años
Puntos: 2
Exclamación Re: convertir DIV en un imput

Ya logre enviar la cuenta regresiva.... el problema es que yo necesito que cuando llegue a 0 me envie el formulario...

Como hago eso..... el script me ha quedado asi...

Código HTML:
<script>
   var timeLimit = 1; //tiempo en minutos
   var conteo = new Date(timeLimit * 60000);

   function inicializar(){
      document.getElementById('cuenta').childNodes[0].nodeValue = 
                  conteo.getMinutes() + ":" + conteo.getSeconds();
   }

   function cuenta(){
      intervaloRegresivo = setInterval("regresiva()", 1000);
   }

   function regresiva(){
      if(conteo.getTime() > 0){
         conteo.setTime(conteo.getTime() - 1000);
      }else{
         clearInterval(intervaloRegresivo);
              }

      document.getElementById('cuenta').childNodes[0].nodeValue = 
                  conteo.getMinutes() + ":" + conteo.getSeconds();
   }

   onload = inicializar;
</script> 
Es medio urgenton, alguien que me ayude plis... gracias igual
  #7 (permalink)  
Antiguo 13/02/2008, 06:45
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 9 meses
Puntos: 1284
Re: convertir DIV en un imput

Hola:

Lo que no entiendo es porqué no usas directamente un input... puedes darle estilos para que se parezca un div (background-color: transparent; border: 0; display: block;)... luego para mostrar el contador podías a la vez evaluar la cuenta y hacer submit en caso de llegar a 0...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #8 (permalink)  
Antiguo 13/02/2008, 06:50
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 17 años
Puntos: 2
Exclamación Re: convertir DIV en un imput

Lo que pasa es que cuando pongo la cuenta regresiva en un imput no me inicia, me mostrarias un ejemplo de como colocarla en un imput... por que yo no pude...

Gracias
  #9 (permalink)  
Antiguo 13/02/2008, 09:00
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 9 meses
Puntos: 1284
Re: convertir DIV en un imput

¡Uf!...

No veo en ninguna parte que uses el método cuenta()... no sé si está bien la definición, pero lo que no he encontrado es su propio uso...

Tal vez sea mejor que lo pongas en negrita...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #10 (permalink)  
Antiguo 13/02/2008, 09:10
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 17 años
Puntos: 2
Exclamación Re: convertir DIV en un imput

mira te muestro mas o menos lo que hago...

function cuenta(){
intervaloRegresivo = setInterval("regresiva()", 1000);

por ello onLoad cuenta() ... y empieza la cuenta regresiva...

este es el script completo, igual esto de la cuenta regresiva esta en otro tema, por que sin querer lo he duplicado, donde muestro bien todo lo qu ehe hecho igual lo pongo aca...

<script>
var timeLimit = 1; //tiempo en minutos
var conteo = new Date(timeLimit * 60000);

function inicializar(){
document.getElementById('cuenta').childNodes[0].nodeValue =
conteo.getMinutes() + ":" + conteo.getSeconds();
}

function cuenta(){
intervaloRegresivo = setInterval("regresiva()", 1000);
}

function regresiva(){
if(conteo.getTime() > 0){
conteo.setTime(conteo.getTime() - 1000);
}else {

}

document.getElementById('cuenta').childNodes[0].nodeValue =
conteo.getMinutes() + ":" + conteo.getSeconds();
}

onload = inicializar;
</script>
<form action="3paso.php" method="post" id="cuentaregresiva" name="cuentaregresiva" onsubmit = "minutos.value = document.getElementById('cuenta').innerHTML" >
<div class="style13" id="cuenta">0</div>
<input name="minutos" type="hidden" id="minutos" />

De esta manera lo envio por post, pero necesito que cuando llegue a 0 se envie el form...
  #11 (permalink)  
Antiguo 13/02/2008, 10:06
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 9 meses
Puntos: 1284
Re: convertir DIV en un imput

¡Je, je!

Código:
onload = inicializar;
... aunque debería ser window.onload

además inicializar no llama a cuenta...

Vamos, que no se mantiene por ningún rincón... o pones el código (implicado) completo (sin soltar chorros que no nos interesen) o será muy difícil atinar con la respuesta...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #12 (permalink)  
Antiguo 14/02/2008, 06:19
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 17 años
Puntos: 2
Re: convertir DIV en un imput

a ver caricatos, yo puse todo el codigo, si queres podes copiarlo y pegarlo en la web, y te podes fijar que funciona a la perfeccion....

yo soy el desentendido, se supone que vos no.... saludos,
  #13 (permalink)  
Antiguo 14/02/2008, 09:13
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 9 meses
Puntos: 1284
Re: convertir DIV en un imput

Cita:
Iniciado por cmarrero Ver Mensaje
a ver caricatos, yo puse todo el codigo, si queres podes copiarlo y pegarlo en la web, y te podes fijar que funciona a la perfeccion....

yo soy el desentendido, se supone que vos no.... saludos,
Pues verás... no voy a copiar el código, porque me basta con verlo, además debería poner cosas que debo suponer, porque en ninguna parte está el código completo... En una parte pones algo de onload=cuenta(), pero como comentario y el código es otro... respondo porque tengo intención de ayudar, si quieres ayuda tienes que facilitar la colaboración...

Prueba copiando tus propios códigos en una página (sin escribir nada) y comprueba hasta donde puedes llegar.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #14 (permalink)  
Antiguo 14/02/2008, 09:40
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 17 años
Puntos: 2
Exclamación Re: convertir DIV en un imput

parte javascritp

Código HTML:
<script>
var timeLimit = 4; //tiempo en minutos
var conteo = new Date(timeLimit * 60000);
function inicializar(){
  document.getElementById('cuenta').childNodes[0].nodeValue = 
  conteo.getMinutes() + ":" + conteo.getSeconds();
       }
function cuenta(){
intervaloRegresivo = setInterval("regresiva()", 1000);
       }
function regresiva(){
  if(conteo.getTime() > 0){
   conteo.setTime(conteo.getTime() - 1000);
       } else  {
          clearInterval(intervaloRegresivo);
          alert("Fin");
            }
 document.getElementById('cuenta').childNodes[0].nodeValue = 
 conteo.getMinutes() + ":" + conteo.getSeconds();
       }

onload = inicializar;
</script> 
Parte BODY

Código HTML:
<body onload="cuenta()"> 
parte div, donde se muestra la cuenta:

Código HTML:
<div class="style2 style10" id="cuenta">0</div> 

Parte formulario:

Código HTML:
<form action="3paso.php" method="post" id="cuentaregresiva" name="cuentaregresiva" onsubmit = "minutos.value = document.getElementById('cuenta').innerHTML" >
 <input name="minutos" type="hidden" id="minutos" />
<input type="submit" name="button" id="button" value="YA TERMINE" />
</form> 

Eso es todo el codigo completo.....

Slaudos
  #15 (permalink)  
Antiguo 14/02/2008, 11:13
Teq
 
Fecha de Ingreso: febrero-2008
Mensajes: 4
Antigüedad: 16 años, 11 meses
Puntos: 0
De acuerdo Re: convertir DIV en un imput

Hola cmarrero, mirá que sos un poco jodido, sabés como son los programadores, todos orgullosos...
Bueno te cuento como probé y ya te lo resolví:


Código HTML:
<html>
<head>
<script>
   var timeLimit = 0.25; //tiempo en minutos
   var conteo = new Date(timeLimit * 60000);

   function inicializar(){
      document.getElementById('cuenta').childNodes[0].nodeValue =
                  conteo.getMinutes() + ":" + conteo.getSeconds();
   }

   function cuenta(){
      intervaloRegresivo = setInterval("regresiva()", 1000);
   }

   function regresiva(){
      if(conteo.getTime() > 0){
         conteo.setTime(conteo.getTime() - 1000);
      }else{
         clearInterval(intervaloRegresivo);
              }

      document.getElementById('cuenta').childNodes[0].nodeValue =
                  conteo.getMinutes() + ":" + conteo.getSeconds();

      if (conteo.getTime() <= 0)
          document.forms[0].submit();
   }

   onload = inicializar;
</script>
</head>
<body onload="cuenta()">
    <div class="style2 style10" id="cuenta">0</div>
    <form action="about:blank" method="post" id="cuentaregresiva" name="cuentaregresiva"
          onsubmit="minutos.value = document.getElementById('cuenta').innerHTML" >
        <input name="minutos" type="hidden" id="minutos" />
        <input type="submit" name="button" id="button" value="YA TERMINE" />
    </form>
</body>
</html> 
Fijate que lo que te agregué es la siguiente línea al final de la función cuenta():

Código:
      if (conteo.getTime() <= 0)
          document.forms[0].submit();
Saludos!!
  #16 (permalink)  
Antiguo 15/02/2008, 05:12
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 17 años
Puntos: 2
Re: convertir DIV en un imput

Muchisimas gracias TEQ.... he estado peleando con todo el mundo para que me entiendan que es lo que queria hacer...

Bueno esta hecho... y funcionando....

Un solo ultimo tema, que por ahi se te ocurre como hacerlo.... esta cuenta cuando se envia manda los datos a una base de datos... la idea es que el usuario solo pueda hacerlo una sola ves....

entonces, como hago para quitar el boton atras cuando se envia el formulario como tambien el de actualizar, o sea, que solo se pueda una salves por usuario...

se que esto es mas complicado... per ello no se me ocurre como.... alguna idea....

Gracias de nuevo Teq
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 02:13.