目前,我的HTML代码是:
<form id = "query" method = "post" action = "search.php">
<input type = "checkbox" name = "col_list[]" value = "host">host</input>
<input type = "checkbox" name = "col_list[]" value = "atom_name>atom_name</input>
…
<input type = "submit">Submit</input>
</form>
我的php代码:
$columns = $_POST["col_list"];
有什么办法可以让我检查复选框的顺序?
答案 0 :(得分:1)
你需要添加一些javascript来获取该信息。
<input type="hidden" name="order"/> <!-- goes inside the form -->
这是一个使用jQuery的例子:
$('[name*="col_list"]').change(function(){
if ($(this).prop('checked')){
$('[name="order"]').val($('[name="order"]').val()+','+$(this).val())
}
});
这应该可以很好地解决一个问题:
如果用户取消选中,则重新选中一个复选框,它将被添加到订单中两次。
订单应该会产生类似的结果:
,host,atom_name
修改强>
修正了一些拼写错误,这是 fiddle
答案 1 :(得分:0)
如果订单很重要,您必须实施某种形式的JavaScript或AJAX,并在选中复选框时调用它。表单不跟踪填写字段的顺序。 JavaScript非常适合这种情况,因为它可以在点击时触发。
AJAX的替代方案可能是添加隐藏的字段元素并使用JS来存储单击的订单。然后在单击表单时传递它。