我终于有了一个在PHP中工作的清单,但是它列出了输入的“值:”而不是“ for:”,原因是我不能使用“值:”是因为该值是一个总计,我想知道已经勾选了哪个选项,而不仅仅是看到一个数字,
<input class="basic-config" type="checkbox" name="ch[]" id="basic-option1" value="100"><label for="basic-option1">option 1<span class="right-align">$100</span></label>
<input class="basic-config" type="checkbox" name="ch[]" id="basic-option2" value="200"><label for="basic-option2">option 2<span class="right-align">$200</span></label>
PHP在下面:
if (isset($_POST['submit'])) {
$name = $_POST ['name'];
$mailFrom = $_POST ['mail'];
$website = $_POST ['website'];
$comments = $_POST ['comments'];
$basicAmount = $_POST ['basic-amount'];
$extras = "None";
if(isset($_POST["ch"]))
$extras = implode(", ", $_POST["ch"]);
$mailTo = "josh@myemail.com";
$headers = "From: ".$mailFrom;
$txt = "\n
Basic Order Request. \n\n
From: $name \n\n
Email: $mailFrom \n\n
Website: $website \n\n
Comments: $comments \n\n
Extras: $extras \n\n
Total: $basicAmount";
}
如何获取列出复选框的“ for”或“ id”名称而不是列出“ value”?
例如,这就是我想要的:
其他:选项1,选项2 总计:$ 300
这是我目前所拥有的,而不是我想要的:
额外:100、200 总计:$ 300
不胜感激!
答案 0 :(得分:1)
仅提交成功的控件(输入),仅提交值。您可以将该选项用作数组键:
<input type="checkbox" name="ch[Option 1]" value="100">
<input type="checkbox" name="ch[Option 2]" value="200">
然后获取那些键:
$extras = implode(", ", array_keys($_POST['ch']));
或创建一个隐藏的输入数组并将它们配对(使用相同的键):
<input type="hidden" name="ex[0]" value="Option 1">
<input type="checkbox" name="ch[0]" value="100">
<input type="hidden" name="ex[1]" value="Option 2">
<input type="checkbox" name="ch[1]" value="200">
然后访问具有相应检查的选项:
$extras = implode(", ", array_intersect_key($_POST['ex'], $_POST['ch']));
答案 1 :(得分:-1)
只需将您的值与您的 id 相同,例如:
<input class="basic-config" type="checkbox" name="ch[]" id="basic-option1" value="Option 1"><label for="basic-option1">option 1<span class="right-align">$100</span></label>
<input class="basic-config" type="checkbox" name="ch[]" id="basic-option2" value="Option 2"><label for="basic-option1">option 2<span class="right-align">$200</span></label>