Получить значение флажка после отправки формы

0

Вот моя форма, и мой текущий URL-адрес.../pg/members/all

<form id="simplesearch" name="simplesearch" action="<?php echo $vars['url'];?>pg/members/searchuser" method="post">
<table class="people_search" style="border:none;">

       <div id="toggle_profile_type">
       <input type="hidden" value="0" name="meta_data_array_search_criteria[custom_profile_type]">
       <p class="skills_even1"><input type="checkbox" name="meta_data_array_search_criteria[custom_profile_type][]" value="39242" class="messageCheckbox"><span>Job Seeker</span></p>
       <p class="skills_odd1"><input type="checkbox" name="meta_data_array_search_criteria[custom_profile_type][]" value="39243" class="messageCheckbox"><span>Employer</span></p>
       <p class="skills_even1"><input type="checkbox" name="meta_data_array_search_criteria[custom_profile_type][]" value="39449" class="messageCheckbox"><span>college</span></p>
       </div>

</table>
</form>

В сценарии я написал

$(document).ready(function(){
  $(":checkbox").click(function(){
    simplesearchsubmitform();
  }); 
});

function simplesearchsubmitform()
{
  if(document.simplesearchonsubmit && !document.simplesearch.onsubmit()) {
    return;
  }
  document.simplesearch.submit();
}

Я отправляю форму, после чего URL изменяется.... /pg/members/searchuser. Теперь мне нужно получить выбранные checkbox. Чтобы я мог добавить это значение в div, флажок останется выбранным.

Есть идеи, как это сделать? Я много искал, но я не нашел решение. PLZ помочь мне, ребята..

  • 0
    внутри функции щелчка вы можете получить его с помощью $(this).val() затем передать его в simplesearchsubmitform в качестве аргумента
  • 0
    Эй, я новичок в этом. Так что вы можете объяснить больше, тогда это будет полезно ...
Теги:
forms

4 ответа

5
Лучший ответ

В разделе "pg/members/searchuser"

Обновление 2.0 Вы используете этот код:

<?php

if(isset($_POST['meta_data_array_search_criteria']))
{  

   foreach($_POST['meta_data_array_search_criteria'] as $val)
   {
        foreach($val as $checkbox_data)
        {
            echo $checkbox_data."<br/>";
        }
   }
 } else 
 {
     echo "No checkbox checked";
 }
?>

Как выбрать флажки: Есть 2 метода, с JS или с PHP. Фрагмент jQuery:

<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>

<script type="text/javascript">
$(document).ready(function()
{


<?php

if(isset($_POST['meta_data_array_search_criteria']))
{  

   foreach($_POST['meta_data_array_search_criteria'] as $val)
   {
        foreach($val as $checkbox_data)
        {

            ?>
            $('input:checkbox[value="<?php echo $checkbox_data;?>"]').attr('checked','checked');
            <?php
        }
   }
 } else 
 {
     echo "No checkbox checked";
 }
?>
})
</script>

Что оно делает? Он выберет те флажки, значения которых мы получили от $ _POST.

  • 0
    вместо имени мы можем использовать class или id в $_POST['meta_data_array_search_criteria[custom_profile_type]']
  • 0
    Его показ не установлен флажок
Показать ещё 9 комментариев
0

Вы можете проверить этот образец, он отобразит проверенное значение на основе сообщения

    <?php
    if (isset($_POST['meta_data_array_search_criteria'])){
        $data = $_POST['meta_data_array_search_criteria'];

        if (is_array($data['custom_profile_type'])){
            //check and display checked value
            if (in_array('39242', $data['custom_profile_type']))
                echo '<p class="skills_even1"><input type="checkbox" name="meta_data_array_search_criteria[custom_profile_type][]" value="39242" class="messageCheckbox" checked><span>Job Seeker</span></p>';
            else
                echo '<p class="skills_even1"><input type="checkbox" name="meta_data_array_search_criteria[custom_profile_type][]" value="39242" class="messageCheckbox"><span>Job Seeker</span></p>';

            if (in_array('39243', $data['custom_profile_type']))
                    echo '<p class="skills_odd1"><input type="checkbox" name="meta_data_array_search_criteria[custom_profile_type][]" value="39243" class="messageCheckbox" checked><span>Employer</span></p>';
                else
                    echo '<p class="skills_odd1"><input type="checkbox" name="meta_data_array_search_criteria[custom_profile_type][]" value="39243" class="messageCheckbox"><span>Employer</span></p>';

            if (in_array('39449', $data['custom_profile_type']))
                    echo '<p class="skills_even1"><input type="checkbox" name="meta_data_array_search_criteria[custom_profile_type][]" value="39449" class="messageCheckbox" checked><span>college</span></p>';
                else
                    echo '<p class="skills_even1"><input type="checkbox" name="meta_data_array_search_criteria[custom_profile_type][]" value="39449" class="messageCheckbox"><span>college</span></p>';

        }
        else{
            //display all unchecked
            echo '<p class="skills_even1"><input type="checkbox" name="meta_data_array_search_criteria[custom_profile_type][]" value="39242" class="messageCheckbox"><span>Job Seeker</span></p>';
            echo '<p class="skills_odd1"><input type="checkbox" name="meta_data_array_search_criteria[custom_profile_type][]" value="39243" class="messageCheckbox"><span>Employer</span></p>';
            echo '<p class="skills_even1"><input type="checkbox" name="meta_data_array_search_criteria[custom_profile_type][]" value="39449" class="messageCheckbox"><span>college</span></p>';
        }

    }   
?>
  • 0
    Извините, это хорошая идея, но это невозможно, для примера я разместил вопрос, но флажок идет из другого файла. Я назвал файл в переменной. Эта переменная находится внутри формы, и я отправляю эту форму. Так что это длинный .. Thnx
  • 0
    Вы имеете в виду значение, т.е. 39242, исходит из файла? Если это так, я думаю, вам просто нужно сделать внутренний цикл, чтобы проверить in_array и распечатать флажок.
0

Попробуйте ввести значения в массив следующим образом:

var values = new Array();
$.each($("input[name='meta_data_array_search_criteria[custom_profile_type][]']:checked"), function() {
  values.push($(this).val());
});
  • 0
    Нет чувак его не работает
  • 0
    Попробуйте вместо этого использовать $ .each ($ (": флажок").
0

Вы отправляете эту форму с POST на новый URL. Поэтому вам нужно поймать все значения с помощью PHP, а не с помощью JavaScript. В ".../pg/members/searchuser" вы просто запрашиваете все $ _POST, а затем выбираете свои флажки с этими значениями.

  • 0
    хорошо, я постараюсь...
  • 1
    Возьмите решение от Beardminator. Вот что я имел в виду и самый простой способ решить вашу проблему. Нет необходимости в дополнительном JavaScript. Просто простой PHP.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню