我有一个条件,其中有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”的表单提交的输入值。
有一个简单的方法吗?
答案 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()
)是必要的,因为您无法提交实际表单,因为它不会阻止发送非活动元素。