2016-01-19 2 views
0

У меня есть условие, в котором есть 5 различных пунктов меню, а также строка и одна форма.Отправляйте только одно входное значение с формой submit in php

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

<form action='' method='post'> 
    <?php 
      foreach($menu_items as $item){?> 
      <div id='' class=''> 
       <?php echo ('menu item description here');?> 
       <input type='text' name='something' value='something'> 
      </div> 
     <?php 
     } 
    ?> 
    <button type='submit'>send</button> 
</form> 

Теперь мне нужно только отправить только одно значение ввода с подчиненной формой, которая имеет класс меню ' активный».

Есть ли простой подход к этому?

+0

Вам необходимо обработать ваше значение перед отправкой с помощью обработчика событий JQuery '$ (" form "). Submit (function (event) {/ * ... * /});'. –

+0

Идентификатор должен быть уникальным. Вставка пустого идентификатора для каждого элемента по существу устанавливает их все на один и тот же идентификатор. вы ничего не даете «активному» классу. –

+0

Спасибо за ваш ответ. Я сделаю снимок – Armed

ответ

0

Вам необходимо прослушать событие, отправленное вашей формой, и обработать форму перед ее отправкой.

Вы можете следовать этому примеру, чтобы выполнить эту задачу:

$(function() { 
    $("form").submit(function(event) { 
     event.preventDefault(); // prevent sending the form before we processed the form 

     var active_input  = $(".active")[0];   
     var active_input_value = active_input.val(); 

     $.ajax({ 
       url  : "php_file_to_call.php" 
      , method : "post" 
      , data : { something : active_input_value } 
     }); 
    }); 
}); 

Вызов Ajax (который мог бы быть $.post()) является необходимым, так как вы не можете представить фактическую форму, потому что это не мешает ип-активный элемент для отправки.

+0

Большое вам спасибо :) – Armed

1

Это более простой способ сделать это:

<form action='' method='post'> 
    <select id="example" name="example"> 
    <option value="something">Option 1</option> 
    <option value="something">Option 2</option> 
    <option value="something">Option 3</option> 
    <option value="something">Option 4</option> 
    <option value="something">Option 5</option> 
    </select> 

    <button type='submit'>send</button> 
</form> 

теперь, когда вы отправляете форму с помощью PHP он будет отправлять только значение выбранного параметра. <select> может следовать за количеством блоков <option>, как вы хотите.

+0

, но мне нужно, чтобы пользователь вводил ввод как текст – Armed

+0

Вы могли бы создать один , где пользователь вводит текст, а затем выбирает, какой вариант он есть? –