100分求高人指点 关于复选框表单传递问题.对您来说可能是举手之劳,对我而言可能是3天3夜的苦思 本帖最后由 aborry 于 2011-07-20 23:49:40 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是这样的,对于checkbox控件,选中状态时才会提交数据;对于文本框,就算不输入任何东西,也会提交表单数据(值为空字符串)。建议你这样处理:默认情况下,给所有的文本框控件加上disabled属性(<input type="text" name="title[]" value="这是标题1" disabled="disabled">),点击checkbox控件后,使得同行的文本框切换为可用状态或禁用状态。<html> <head> <style type= "text/css "> {behavior:url(#default#VML);} </style><script type="text/javascript">window.onload = function() { var chk = document.getElementsByTagName('input'); for(var i = 0; i < chk.length; i ++) { if (chk[i].type == 'checkbox') { chk[i].onclick = function() { var o = this.parentNode.parentNode.getElementsByTagName('input'); for (var j = 0; j < o.length; j ++) { if (o[j].type != 'checkbox') { if (o[j].disabled) o[j].disabled = false; else o[j].disabled = true; } } } } }}</script></head><body> <form action="post.php" method="post"><table border="1" bordercolor="#0ec517" rules="rows" frame="hsides"><tr> <td> <input id="1" type="checkbox" name="selectedIds[]" value="1"> </td> <td> <img src="image/pr.jpg" height="65" width="55"> <input type="hidden" name="image[]" value="image/pr.jpg" disabled="disabled"> </td> <td> <div > <p><input type="text" name="title[]" value="这是标题1" disabled="disabled"><input type="submit" value="改" disabled="disabled"></p> 关键词:<input type="text" name ="key[]" value="" size="8" disabled="disabled"> </div> </td></tr><tr> <td> <input id="2" type="checkbox" name="selectedIds[]" value="2"> </td> <td> <img src="image/pr.jpg" height="65" width="55"> <input type="hidden" name="image[]" value="image/pr.jpg" disabled="disabled"> </td> <td> <div > <p><input type="text" name="title[]" value="这是标题2" disabled="disabled"><input type="submit" value="改" disabled="disabled"></p> 关键词:<input type="text" name ="key[]" value="" size="8" disabled="disabled"> </div> </td></tr><tr> <td> <input id="3" type="checkbox" name="selectedIds[]" value="3" > </td> <td > <img src="image/pr.jpg" height="65" width="55"> <input type="hidden" name="image[]" value="image/pr.jpg"> </td> <td > <div > <p><input type="text" name="title[]" value="这是标题3" ><input type="submit" value="改" ></p> 关键词:<input type="text" name ="key[]" value="" size="8"> </div> </td></tr><tr> <td> <input id="4" type="checkbox" name="selectedIds[]" value="4" > </td> <td > <img src="image/pr.jpg" height="65" width="55"> <input type="hidden" name="image[]" value="image/pr.jpg"> </td> <td > <div > <p><input type="text" name="title[]" value="这是标题4" ><input type="submit" value="改" ></p> 关键词:<input type="text" name ="key[]" value="" size="8"> </div> </td></tr><input type="submit" value="提交" ></table></form><fieldset><legend>健康信息:</legend><form><label>身高:<input name="egg" type="text" /></label><label>体重:<input type="text" /></label><label>提交:<input type="submit" value="提交"/></label></fieldset></body></html> 你的php程序$i是从0开始的。再按数字顺序排。所以拿出来的永远是以1开始的内容。跟着就是2. 看了一下 大慨知道你说的是啥,应该就是传递的时候Id 错位了吧.给你一个建议将test.htm 改成test.php 循环输出table的内容 并且给每个name 赋值Id例如 for (xxxxx){echo '<input name="xxx'.$i.'" type="text" value="" />';echo '<input name="key".$i.' type="text" value=""'/>';}.post 过去返回来就应该是正确的内容了.其实这种修改内容的 最好用的就是ajax/js了. for($i=0;$i<count($checkbox);$i++)这里有问题。应该是拿checkbox内容,然后,根据这个内容找相关的资料。 echo "<td class=tabval><img src=".$image[$checkbox[$i]-1]." width=55 height=65></td>";其余类似$checkbox[$i] 才是相应的 checkbox 的值,-1 才对应文本框序号 建议使用AJAX来提交类似这种表单,提交前使用JAVASCRIPT进行过滤操作,只提交选中的多选框值 如何生成config.php这样的数据库配置信息文件 关于时间段模糊查询 请教用PHP实现自动登录问题。 用javascript验证表单填写数据问题 用.net改成一段PHP代码,高手请进 llllllllll nginx rewrite规则的问题 招聘 flash 后台开发工程师 (待遇绝对优厚、势能力而定) smarttemplate在使用过程中,包含文件时,为什么只输出最后包含的文件? 大虾救命!!!急(怎样判断输入的格式是否符合要求的格式?) php编译pear模块一直出错 excel日期导入问题?
<head>
<style type= "text/css ">
{behavior:url(#default#VML);}
</style><script type="text/javascript">
window.onload = function() {
var chk = document.getElementsByTagName('input');
for(var i = 0; i < chk.length; i ++) {
if (chk[i].type == 'checkbox') {
chk[i].onclick = function() {
var o = this.parentNode.parentNode.getElementsByTagName('input');
for (var j = 0; j < o.length; j ++) {
if (o[j].type != 'checkbox') {
if (o[j].disabled) o[j].disabled = false;
else o[j].disabled = true;
}
}
}
}
}
}
</script>
</head><body> <form action="post.php" method="post">
<table border="1" bordercolor="#0ec517" rules="rows" frame="hsides">
<tr>
<td>
<input id="1" type="checkbox" name="selectedIds[]" value="1">
</td>
<td>
<img src="image/pr.jpg" height="65" width="55">
<input type="hidden" name="image[]" value="image/pr.jpg" disabled="disabled">
</td>
<td>
<div >
<p><input type="text" name="title[]" value="这是标题1" disabled="disabled"><input type="submit" value="改" disabled="disabled"></p>
关键词:<input type="text" name ="key[]" value="" size="8" disabled="disabled">
</div>
</td>
</tr><tr>
<td>
<input id="2" type="checkbox" name="selectedIds[]" value="2">
</td>
<td>
<img src="image/pr.jpg" height="65" width="55">
<input type="hidden" name="image[]" value="image/pr.jpg" disabled="disabled">
</td>
<td>
<div >
<p><input type="text" name="title[]" value="这是标题2" disabled="disabled"><input type="submit" value="改" disabled="disabled"></p>
关键词:<input type="text" name ="key[]" value="" size="8" disabled="disabled">
</div>
</td>
</tr><tr>
<td>
<input id="3" type="checkbox" name="selectedIds[]" value="3" >
</td>
<td >
<img src="image/pr.jpg" height="65" width="55">
<input type="hidden" name="image[]" value="image/pr.jpg">
</td>
<td >
<div >
<p><input type="text" name="title[]" value="这是标题3" ><input type="submit" value="改" ></p>
关键词:<input type="text" name ="key[]" value="" size="8">
</div>
</td>
</tr><tr>
<td>
<input id="4" type="checkbox" name="selectedIds[]" value="4" >
</td>
<td >
<img src="image/pr.jpg" height="65" width="55">
<input type="hidden" name="image[]" value="image/pr.jpg">
</td>
<td >
<div >
<p><input type="text" name="title[]" value="这是标题4" ><input type="submit" value="改" ></p>
关键词:<input type="text" name ="key[]" value="" size="8">
</div>
</td>
</tr>
<input type="submit" value="提交" >
</table></form><fieldset>
<legend>健康信息:</legend>
<form>
<label>身高:<input name="egg" type="text" /></label>
<label>体重:<input type="text" /></label>
<label>提交:<input type="submit" value="提交"/></label>
</fieldset>
</body>
</html>
将test.htm 改成test.php 循环输出table的内容 并且给每个name 赋值Id例如 for (xxxxx){
echo '<input name="xxx'.$i.'" type="text" value="" />';
echo '<input name="key".$i.' type="text" value=""'/>';
}.post 过去
返回来就应该是正确的内容了.
其实这种修改内容的 最好用的就是ajax/js了.
这里有问题。应该是拿checkbox内容,然后,根据这个内容找相关的资料。
其余类似$checkbox[$i] 才是相应的 checkbox 的值,-1 才对应文本框序号