要将数组传递给服务器,您可以这样做(注意名称中的[],这表示一个数组):
<input type="checkbox" name="myCheckBox[]" value="One" />
<input type="checkbox" name="myCheckBox[]" value="Two" />
<input type="checkbox" name="myCheckBox[]" value="Three" />
<input type="checkbox" name="myCheckBox[]" value="Four" />
然后在php中你会做这样的事情:
foreach($_POST['myCheckBox'] as $value){
echo "<p>$value</p>";
}
然后您会得到如下所示的输出(假设除了Two 之外的所有内容都被选中):
One
Three
Four
所以假设您没有使用 javascript 来传递数据,浏览器应该会自动对数据进行编码。如果您使用的是 javascript,您可以将数据传递给 javascript 函数 escape(),它将对要传递给服务器的数据进行转义/编码。
对于 jquery,您也可以使用serialize() 操作:
$.ajax(
url: "/to/file.php",
data: $("#my_form").serialize(), // <form id="my_form">
success: function(){
// Do some stuff
}
);
这是另一种传递数据的方式:
<input type="text" name="names[0]['name']['first']" />
<input type="text" name="names[0]['name']['last']" />
<input type="radio" name="names[0]['gender']" value="male" />
<input type="radio" name="names[0]['gender']" value="female" />
<input type="text" name="names[1]['name']['first']" />
<input type="text" name="names[1]['name']['first']" />
<input type="radio" name="names[1]['gender']" value="male" />
<input type="radio" name="names[1]['gender']" value="female" />
<input type="text" name="names[2]['name']['first']" />
<input type="text" name="names[2]['name']['first']" />
<input type="radio" name="names[2]['gender']" value="male" />
<input type="radio" name="names[2]['gender']" value="female" />
<input type="text" name="names[3]['name']['first']" />
<input type="text" name="names[3]['name']['first']" />
<input type="radio" name="names[3]['gender']" value="male" />
<input type="radio" name="names[3]['gender']" value="female" />
在 php 中你会这样做,例如:
foreach($_POST['names'] as $name){
echo "<p>" . $name["name"]["first"] . " is a " . $name["gender"] . "</p>";
}