我有一个div就像一个checkbox.i想要在表单中提交它的value属性,但它不会传递给php文件。
HTML:
<form action="test.php" method="post">
<div id="test1" value="testvalue" name="test" checked="checked"></div>
<input type="submit" />
</form>
PHP:
<?php
$test = $_POST['test'];
echo $test;
?>
答案 0 :(得分:10)
仅将表单元素发回服务器。如果要发送值,则需要创建输入元素。您可以考虑制作<input type="hidden" name="test" value="testvalue"
。
为了响应使用jQuery注释创建的自定义复选框,您可以使用jQuery设置隐藏输入元素的值。这将允许您继续使用div,但具有一个值,该值将被发送回服务器。
答案 1 :(得分:3)
@ andrew-jackman所说的是正确的,但是我仍然使用jQuery来解决这个问题。
我包含了一个隐藏字段来管理数据并使用jQuery的切换来复制复选框功能
<form action="test.php" method="post">
<div id="test1" value="testvalue" checked="checked">
<input type="hidden" name="test" id="hiddenfield" />
</div>
<input type="submit" />
的javascript
$('div#test1').toggle(function(){
$('input#hiddenfield').val('checked');
alert($('input#hiddenfield').val());
},function(){
$('input#hiddenfield').val('');
alert($('input#hiddenfield').val())
})