2010-12-12 50 views
0

如何获取具有标记复选框的表单域值?多表单文本框

形式:

<form id="form" name="form" method="post" action=""> 

<input type="text" name="textfield[]" value="textf 1"/> 
<textarea name="textarea[]" cols="45" rows="5">some text 1</textarea> 
<input name="check[]" type="checkbox" value="checkb 1" /> 

<input type="text" name="textfield[]" value="textf 2" /> 
<textarea name="textarea[]" cols="45" rows="5">some text 2</textarea> 
<input name="check[]" type="checkbox" value="checkb 2" /> 

<input type="text" name="textfield[]" value="textf 3"/> 
<textarea name="textarea[]" cols="45" rows="5">some text 3</textarea> 
<input name="check[]" type="checkbox" value="checkb 3" /> 

</form> 

我想表单字段值特定文本框和文本区域。例如,如果我在这个例子中标记第一个和最后一个复选框。我怎样才能使用PHP?

那么结果应该是:

textf 1 
some text 1 
checkb 1 

textf 3 
some text 3 
checkb 3 

回答

2

给你的复选框和文字区域设定指标,让你知道它很容易复选框对应于什么样的形式。

<input type="text" name="textfield[0]" value="textf 1"/> 
<textarea name="textarea" id="textarea[0]" cols="45" rows="5">some text 1</textarea> 
<input name="check[0]" type="checkbox" value="checkb 1" /> 

<input type="text" name="textfield[1]" value="textf 2" /> 
<textarea name="textarea" id="textarea[1]" cols="45" rows="5">some text 2</textarea> 
<input name="check[1]" type="checkbox" value="checkb 2" /> 

然后,您可以快速检查是否设置了特定的复选框,并对关联的textarea执行某些操作。

foreach ($_POST['textfield'] as $idx => $value) { 
    echo $_POST['textfield'][$idx] . "<br />"; 
    echo $_POST['textarea'][$idx] . "<br />"; 
} 

这将只打印已选中文本框的文字区域,因为这些未检查不在$ _ POST。

+0

我一直试图解决这一整天。非常感谢Dan。 – Sergio 2010-12-12 10:13:42