jQuery форма, проверьте, проверено ли радио - PullRequest
0 голосов
/ 04 февраля 2020

У меня проблемы с получением значений из проверенного радио:

<form id="addform" /*action="catch.php" method="POST"*/>
<div class="form-group input-container">
    <label class="col-sm-7"> *Href looks like "/vacacy/12": </label>
    <input class="col-sm-3" name="vacancy_full_URL" value="0" type="radio" required>
    <label class="col-sm-7"> *Href looks like "https://www.test.com/vacancy/12": </label>
    <input class="col-sm-3" name="vacancy_full_URL" value="1" type="radio" required>
</div>
</form>

Это код JavaScript:

 $( "#check" ).click(function()
        {
            var $inputs = $('#addform :input');

            var values = {};
            $inputs.each(function()
            {
                if (this.name === "vacancy_full_URL")
                {
                    if (/* check if radiobutton is checked */)
                    {
                        values[this.name] = $(this).val();
                    }
                }
                else
                {
                    values[this.name] = $(this).val();
                }

            });
        });

У меня проблемы с поиском нужных функций для проверки это с. Моя более ранняя попытка if (this.checked() === true) не сработала. Не могли бы вы помочь мне?

Ответы [ 3 ]

2 голосов
/ 04 февраля 2020

Вы можете обработать событие нажатия на кнопку и проверить имя щелчка радиона с помощью: флажок

$(document).ready(function(){
      $("#check").click(function(){
          var radioValue = $("input[name='vacancy_full_URL']:checked").val();
           if(radioValue){
             alert("Your are a - " + radioValue);
             }
           });
        });
1 голос
/ 04 февраля 2020

Используйте is(":checked"), чтобы узнать, установлен ли переключатель. Также есть несколько ошибок в html форме, как если бы вы сделали форму самозакрывающейся. Во-вторых, не было пункта с проверкой личности

$("#check").click(function(e) {
  e.preventDefault()
  var $inputs = $('#addform :input');

  var values = {};
  $inputs.each(function() {
    if (this.name === "vacancy_full_URL" && $(this).is(":checked")) {
      values[this.name] = $(this).val();
    } else {
      values[this.name] = $(this).val();
    }
  });
  console.log(values)
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="addform" action="catch.php" method="POST">
  <div class="form-group input-container">
    <label class="col-sm-7"> *Href looks like "/vacacy/12": </label>
    <input class="col-sm-3" name="vacancy_full_URL" value="0" type="radio" required>
    <label class="col-sm-7"> *Href looks like "https://www.test.com/vacancy/12": </label>
    <input class="col-sm-3" name="vacancy_full_URL" value="1" type="radio" required>
  </div>
  <button type='submit' id='check'>Click</button>
</form>
0 голосов
/ 04 февраля 2020

Пожалуйста, попробуйте это.

$(document).ready(function () {
    $("#check").click(function () {
        var values = {};
        var other_data = $('input[type=radio]', $('#addform'));;
        $.each(other_data, function (key, input) {
            if (input.checked) {
                values[input.name + "_checked"] = input.value;
            } else {
                values[input.name+ "_unchecked"] = input.value;
            }
        });
    });
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...