我有一堆复选框,其中之一是"其他"。一旦用户选中其他,它会打开一个新的输入字段以获取更多细节。我需要使用POST将输入值存储在PHP变量中。下面是我所拥有的,但我似乎找不到更多关于如何做到这一点的信息,因为它有点具体。
- 超文本标记语言:**
<td>Categories?</td>
<td>
<input type="checkbox" name="categories[]" value="P">Poster<br>
<input type="checkbox" name="categories[]" value="B">Brochure<br>
<input type="checkbox" name="categories[]" value="F">Flyer<br>
<input type="checkbox" name="categories[]" value="M">Mailer<br>
<input type="checkbox" name="categories[]" value="N">Newsletter<br>
<input type="checkbox" name="categories[]" value="G">Program<br>
<input type="checkbox" name="categories[]" value="V">Invitations<br>
<input type="checkbox" name="categories[]" value="O" onclick="dynInput(this);">Other<br>
<p id="insertinputs"></p>
</td>
- 琼斯:**
function dynInput(cbox) {
if (cbox.checked) {
var input = document.createElement("input");
input.type = "text";
var div = document.createElement("div");
div.id = cbox.name;
div.innerHTML = "Explain: ";
div.appendChild(input);
document.getElementById("insertinputs").appendChild(div);
} else {
document.getElementById(cbox.name).remove();
}
}
6条答案
按热度按时间hc2pp10m1#
我认为你需要的是创建一个字段,给它一个名称,然后隐藏它,每次用户点击其他显示它,然后当你提交你的表单字段将被发送为后就像
categories[]
,但与给定的名称(在我的例子other_category
):希望这个有用。
c3frrgcw2#
如果我说错了,请不要责怪我,但是如果您希望在用户勾选选项时动态显示一个额外的表单,也许您可以这样做
有了JS
然后,您可以处理额外的
$_POST['others']
服务器端!2vuwiymt3#
我已经创建了一个代码使用Jquery.它可能会对你有帮助.
1yjd4xko4#
下面是一个PHP的解决方案,不需要修改JS:
bxpogfeg5#
由于OP在问题中没有标记JQuery,但我给出了一些JQuery解决方案,它可能会帮助OP或其他人。
kcwpcxri6#