elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [Pregunta]: ¿Alguna manera de poder hacer esto en mi formulario con un dato d..?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Pregunta]: ¿Alguna manera de poder hacer esto en mi formulario con un dato d..?  (Leído 635 veces)
Leguim


Desconectado Desconectado

Mensajes: 675



Ver Perfil
[Pregunta]: ¿Alguna manera de poder hacer esto en mi formulario con un dato d..?
« en: 3 Diciembre 2019, 02:53 am »

Buenas noches,

tengo un <select> en el cual solamente tengo un option <option value="0">Día</option>
Los días los creo de forma dinámica usando JS obviamente hay meses (febrero) 28 días si no es bisiesto y otros que tienen 31 días...
pero para el ejemplo que quiero dar viene bien.

Correcto, entonces tengo al fin de cuentas un selector con 32 opciones (uno con el option 0 y los demás del 1 a el 31)

Generalmente lo que hago siempre para recuperar un dato luego de enviar un formulario es hacer:

Código
  1. <?php
  2. if(isset($_POST['selector']))
  3. {
  4.       ?>
  5.       <select name="selector">
  6.               <option value="0">Día</option>
  7.                // acá se crean 31 options más con javascript ¿Pero como puedo seleccionarlos si a simple vista no aparecen? algo como esto..
  8.                <option value="30" selected="true">30</option>
  9.       </select>
  10.       <?php
  11. }
  12. ?>
  13.  

Código
  1.    function Create_Select_Day()
  2.    {
  3.        var select = document.getElementById('select_day_birth');
  4.  
  5.        for(var i = 1; i <= 31; i++)
  6.        {
  7.            option = document.createElement('option');
  8.            option.value = i;
  9.            option.text = i;
  10.            select.appendChild(option);
  11.        }
  12.    }
  13.  

¿Será que lo podré hacer usando algun script que se ejecute?


En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.605


🏴 Libertad!!!!!


Ver Perfil WWW
Re: [Pregunta]: ¿Alguna manera de poder hacer esto en mi formulario con un dato d..?
« Respuesta #1 en: 3 Diciembre 2019, 03:27 am »

tienes que espeficicarles algun ID a cada Option lo mismo que estas haciendo pero:

Código
  1.    function Create_Select_Day()
  2.    {
  3.        var select = document.getElementById('select_day_birth');
  4.  
  5.        for(var i = 1; i <= 31; i++)
  6.        {
  7.            option = document.createElement('option');
  8. option.id = "opt_"+i;
  9.            option.value = i;
  10.            option.text = i;
  11.            select.appendChild(option);
  12.        }
  13.    }
  14.  

Y posteriormente marcarlo como seleccionado segun tu criterio
Código
  1. document.getElementById("opt_30").selected = true;
  2.  


En línea

Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW
Leguim


Desconectado Desconectado

Mensajes: 675



Ver Perfil
Re: [Pregunta]: ¿Alguna manera de poder hacer esto en mi formulario con un dato d..?
« Respuesta #2 en: 3 Diciembre 2019, 05:59 am »

Lo hice así:

Código
  1.    <?php
  2.    if(isset($_POST['select_day_birth']))
  3.    {
  4.        ?>
  5.        <script type="text/javascript">
  6.        $(document).ready(function()
  7.        {
  8.            var select_day = document.getElementById('select_day_birth');
  9.            var op_day = select_day.getElementsByTagName('option');
  10.  
  11.            op_day[<?php echo($_POST['select_day_birth']); ?>].selected = true;
  12.        });
  13.        </script>
  14.        <?php
  15.    }
  16.    ?>
  17.  

y funciona de 10, gracias!
« Última modificación: 3 Diciembre 2019, 17:16 pm por MiguelCanellas » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines