Добавить значение скрытого поля ввода другого варианта - PullRequest
0 голосов
/ 09 февраля 2019

Я закончил этим кодом после того, как поблагодарил других здесь, на этом сайте.Теперь, в следующем коде отправки формы, я хочу, чтобы значение скрытого поля ввода было вместо «Другое» при отображении результата.

<form action="" method="post">
    <div class="row">
        <div class="col-sm-8 col-sm-offs et-2"> 
            <select class="form-control" name="country" id="country" required >
                <option value="">Please select your country</option>
                <option value="A">Country A</option>
                <option value="B">Country B</option>
                <option value="C">Country C</option>
                <option value="Other">Other</option>
            </select>

             <input type ="text" id="country_other" style="display:none">

                <button type="submit" class="btn btn-gpsingh">Next</a>
             </div>
     </div>
  </form>

<script>
$("#country").change(function(){

    var value = this.value;
    if(value =='Other')
    {
        $("#country_other").show();
        $("#country_other").attr('required', false);


    }
     else
    {
       $("#country_other").hide();  
       $("#country_other").val('');
       $("#country_other").attr('required', false);
    }    
});
</script>

1 Ответ

0 голосов
/ 09 февраля 2019

Если вы правильно поняли, вы могли бы попытаться удалить атрибут name из меню SELECT, если выбрано значение other, и назначить атрибут name вместо ввода textэлемент - когда форма отправляется, элемент в массиве POST с именем country приходит из текстового поля, а не из меню выбора ...

$('#country').change(function(){
    if( this.value == 'Other' ){
        $('#country_other').show();
        $('#country_other').attr('required', false);

        /* remove name from select & add to text field */
        $('#country_other').attr('name', $(this).attr('name') );
        $(this).removeAttr('name');
    } else {
       $('#country_other').hide();  
       $('#country_other').val('');
       $('#country_other').attr('required', false);

       /* remove name attribute from text field and assign back to select menu */
       $(this).attr('name', $('#country_other').attr('name') );
       $('#country_other').removeAttr('name');
    }    
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...