通过php中的表单提交仅发送一个输入值

时间:2016-01-19 16:57:45

标签: php jquery forms

我有一个条件,其中有5个不同的菜单项,连续和一个表格。

对于每个菜单项,表单中都有一个输入值,如下所示:

<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>

现在我只需要发送一个具有菜单类“active”的表单提交的输入值。

有一个简单的方法吗?

2 个答案:

答案 0 :(得分: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发送表单时,它只会发送所选选项的值。 <{1}}可以跟随您想要的<select>块。

答案 1 :(得分: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())是必要的,因为您无法提交实际表单,因为它不会阻止发送非活动元素。