Nueva pregunta

Pregunta:

Fecha: 07-02-2019 12:48:16 (En Español)

Ayuda: Cómo pasar el value de un radio a otro template[No resuelta]

Hola!

Estoy un poco encallado, y no se como pasar el value de un radio de un template a otro, pongo un ejemplo:

Si estoy en el template_01.php con el siguiente código:

 <div><label><?php _e('Fee', 'crtheme'); ?></label></div>
                        <?php $first_fee = true; ?>
                        <?php foreach ($apartment->prices as $fee_type => $fee_info): ?>
                            <div class="radio">
                                <label><input type="radio" name="fee" data-price="<?php echo $fee_info->price; ?>" value="<?php echo $fee_type ?>" required <?php echo ($first_fee ? 'checked' : ''); ?>><?php echo $fee_type ?> (<?php echo $fee_info->price; ?> &euro;)
                                    <?php if (ICL_LANGUAGE_CODE == 'es'): ?>
                                        <a href="#" data-toggle="tooltip" title="<?php echo $fee_info->description_es; ?>"><i class="fa fa-info-circle" aria-hidden="true"></i></a>
                                    <?php elseif (ICL_LANGUAGE_CODE == 'en'): ?>
                                        <a href="#" data-toggle="tooltip" title="<?php echo $fee_info->description_en; ?>"><i class="fa fa-info-circle" aria-hidden="true"></i></a>
                                    <?php endif; ?>
                                </label>
                            </div>
                            <?php $first_fee = false; ?>
                        <?php endforeach; ?>
                    </div>


He marcado en negrita el input, tiene 2 valores, A, B, quiero poder recuperar el value seleccionado para pintarlo en el template_02.php

Para poderlo hacer, tendria que utilizar algo así como: file_get_content = url del template_01.php ??

Está claro que no es un secillo
$_GET['fee']
ya que en éste caso lo que haríamos seria recuperar el valor del check, pero yo no quiero el valor sino el value del radio, me explico mejor.

el radio se llama A y si se selecciona es = si, y el otro radio B si se selecciona es = no, no quiero recuperar el si o el no quiero recuperar el A o el B.

Espero que me haya explicado con claridad, y pueda alguien darme un punto de luz, gracias!!

Un saludo!
Etiquetas: $_SESSION - HTML - Javascript - Laravel - PHP - PHP Avanzado - WordPress Votos: 0 - Respuestas: 3 - Vistas: 10 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 07-02-2019 15:32:26 Hola Litulandio,
    Está confusa tu pregunta y proporcionas muy poca información.
    Quiero pensar que estás haciendo un template en Wordpress. Es correcto?

    Ahora bien, en tu pregunta mencionas que si usas:

    $_GET['fee']
    


    No sirve porque obtienes el valor del check y no del radio.

    No veo ningún checkbox en el código que proporcionas pero si ambos tienen el mismo atributo name puede ser que ese sea el problema.

    Ahora bien vamos al caso más sencillo.

    <input type="radio" name="fee" data-price="10.00" value="fee_type_1" required> A
    <input type="radio" name="fee" data-price="17.00" value="fee_type_2" required checked> B
    


    Si hemos seleccionado B entonces al enviar la forma, si utilizas $_GET['fee'], recibirás el valor fee_type_2.
    Supongo que además de recibir el valor quieres retroalimentar al cliente con una respuesta tipo:

    Usted seleccionó la opción B

    Es correcto?
      Votos: 0 - Link respuesta
     
  • Fecha: 07-02-2019 19:49:26 Si, es correcto, estoy trabajando con una plantilla wordpress personalizada, i si, como bien dices quiero ver la selección B en otro template, queria saber que

    1- para ver en otra template esa selección como hacer de puente.

    2- para ver la selección de ese input que es dinámico pasado por in foreach, como hago para diferenciarlo? Y capturar su valor?

    Muchas gracias
      Votos: 0 - Link respuesta
     
  • Fecha: 08-02-2019 06:22:56 Ok,
    Hay varias formas pero las más sencillas serían:
    1. Incluir en tu forma un input oculto que se actualizará con el label del radio que seleciones mediante un evento (Generalmente click). De esta manera se envía como parte de tu formulario.

    Este ejemplo te puede servir:
    <label for="animalCats">Cats:</label>  <input name="animal" id="animalCats" type="radio" value="Cats" checked>
    <label for="animalDogs">Dogs:</label>  <input name="animal" id="animalDogs" type="radio" value="Dogs">
    
    <p>Click the button to check all checkboxes that have a name attribute with the value "animal".</p>
    
    <button onclick="myFunction()">Try it</button>
    <input type="hidden" name="radioLabel" value=""/>
    <script>
    function updateHiddenField() {
    	var x = document.querySelector("input[name=animal]:checked");
        var label = document.querySelector("label[for=" + x.id + "]");
        var hiddenInput = document.querySelector("input[name=radioLabel]");
        hiddenInput.value=label.innerText;
    }
    
    var elements = document.getElementsByName("animal");
    for (i = 0; i < elements.length; i++) {
    	elements[i].addEventListener("click", updateHiddenField);
    }
    </script>
    


    2. Si el label está asociado con el valor de alguna manera en el backend entonces cuando recibas el valor puedes recuperar el label a partir del valor recibido.
      Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión