想知道是否有人可以帮我解决这个问题:
如果我在表单上有三个具有不同值的复选框,请执行以下操作:
<input type="checkbox" name="checkbox" value="1stValue">
<input type="checkbox" name="checkbox" value="2ndValue">
<input type="checkbox" name="checkbox" value="3rdValue">
我需要提交该表单,以便值最终出现在隐藏字段中 在每个之间调用带有an的ans,以便文本字段 在同一个表格上有效'1stValue,2ndValue,3rdValue' 包含在其中的形式上的产生动作。
哪种方法最好?
答案 0 :(得分:1)
我认为你需要一个函数,在提交表单之前将逗号分隔的值放在隐藏字段中。
检查此代码:
<html>
<head>
<script type="text/javascript">
function setHiddenField()
{
len = objForm.elements.length;
var i=0;
var hiddenValue='';
for( i=0 ; i<len ; i++)
{
if (objForm.elements[i].type=='checkbox' && objForm.elements[i].checked==true)
hiddenValue += objForm.elements[i].value+",";
}
if(hiddenValue!='')
hiddenValue = hiddenValue.substr(0,hiddenValue.length-1);
document.getElementById('hiddenFieldId').value = hiddenValue;
}
</script>
</head>
<body>
<form name="objForm" >
<input type="text" name="checkboxes" id="hiddenFieldId" /><br/>
<input type="checkbox" name="checkbox" value="1stValue"><br/>
<input type="checkbox" name="checkbox" value="2ndValue"><br/>
<input type="checkbox" name="checkbox" value="3rdValue"><br/>
<input type="button" value="Click Me" onclick="setHiddenField()" />
</body>
</html>
注意: 我已经输入input type =“text”来表示值正确,将其更改为隐藏在实际代码中 此外,我假设您需要获取表单中每个复选框的值
答案 1 :(得分:0)
将复选框放在数组中
<input type="checkbox" name="checkbox[]" value="1stValue">
<input type="checkbox" name="checkbox[]" value="2ndValue">
<input type="checkbox" name="checkbox[]" value="3rdValue">
然后在下一页内爆数组
<input type="hidden" name="checkboxes" value="<?php echo implode( ',', $_POST['checkbox'] ) ?>">
答案 2 :(得分:0)
您可以创建多个隐藏文本框并在每个文本框中放置一个,或者使用:
<input type="checkbox" name="checkbox[]" value="1stValue">
<input type="checkbox" name="checkbox[]" value="2ndValue">
<input type="checkbox" name="checkbox[]" value="3rdValue">
使用此服务器端:
<?php
$data=implode(",",$_POST['checkbox']);
echo "<input type='hidden' value='{$data}' name='hiddenField' />";
?>