发布标签文本以及数组复选框值

时间:2012-09-25 05:44:57

标签: php javascript

我有以下html格式的复选框数组

<label><input name="columns[]" type="checkbox" value="pname" />Property Name</label>
<label><input name="columns[]" type="checkbox" value="2000" />Price</label>
<label><input name="columns[]" type="checkbox" value="New Road" />Location</label>
<label><input name="columns[]" type="checkbox" value="Joe Smith" />Owner</label>

大约有30个这样的复选框。

我想要做的就是在发布表单时发送文本及其复选框的值。让我们说如果我选中了第一个复选框,我想发送pname以及文本Property Name。可以有几种解决方案,但不知道哪一种更容易。

我认为的那个。在提交页面中迭代复选框数组的循环,创建另一个数组并手动将文本推送到此新数组。

或者我认为的其他选项是,在value属性中,我将发送带有像pname^Property Name这样的值的文本,并在提交页面i迭代循环,爆炸值并将它们放到各自的数组中。

有没有替代解决方案呢?

由于

2 个答案:

答案 0 :(得分:2)

<强> HTML

<label><input name="columns['Property Name']" type="checkbox" value="pname" />Property Name</label>
<label><input name="columns['Price']" type="checkbox" value="2000" />Price</label>
<label><input name="columns['Location']" type="checkbox" value="New Road" />Location</label>
<label><input name="columns['Owner']" type="checkbox" value="Joe Smith" />Owner</label>

<强> PHP

$columns = $_GET["columns"]; // or $_POST

echo $columns["Property Name"] ;   // pname
echo $columns["Price"] ;           // 2000
echo $columns["Location"] ;        // New Orad
echo $columns["Owner"] ;           // Joe Smith

答案 1 :(得分:1)

你可以这样使用

$posted_columns = implode(',',$_POST['columns']);
print_r($posted_columns);

但你的代码应该是这样的

<label><input name="columns['Property Name']" type="checkbox" value="pname" />Property Name</label>