networkRunner networkRunner
just
关注数: 0 粉丝数: 8 发帖数: 728 关注贴吧数: 17
<input type="submit" />表单提交后,PHP对网页都做了什么 根据书上的解释:属性action指定要提交到的URL地址,提交后页面将跳转到这个地址. 也就是说,如果action属性值为表单所在网页,那么提交后将会"刷新"页面(应该和点击刷新按钮刷新不相同,点击刷新按钮不会提交数据.)基于这种理解,我写了一个页面,用于实现如下图一排按钮"编辑",当点击其中一个时,其上面的文字改为"更新",其他按钮保持不变.我的代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fwww.w3.org%2FTR%2Fxhtml1%2FDTD%2Fxhtml1-transitional.dtd&urlrefer=e9b2a1e0c6d358d677c4ee0138b67400"><html xmlns="http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml&urlrefer=d0f4243b5ce5e5fa54fdafc10831c319"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>更新</title></head> <body> <form action="test_updata.php" method="post"> <table> <?php $i=10;$sub=$_POST['sub']; //接受表单name为sub的数据赋值给变量 $sub$value_name="编辑"; while($i>0) //用于输出十行的表单 { $q=10-$i+1; //作为按钮"编辑"的编号1,2,3,4... if(isset($sub[$q])) //如果编辑按钮第$q个被选中 { if($value_name=="编辑") { $value_name="更新"; } else if($value_name=="更新") { $value_name="编辑"; } } echo '<tr><td><input type="text" name="te" /></td><td><input type="submit" name="sub['.$q.']" value='.$value_name.' /></td><td></td></tr>'; //echo '<tr><td><input type="text" name="te" /></td><td><input type="submit" name="sub['.$q.']" value='.$value_name.' /></td><td>'.print_r($sub).'</td></tr>'; $i--; } ?> </table> </form> <?php print_r($sub); //输出数组sub的所有值 ?> </body> </html> 以上是代码.但是实现后令我很费解.点击如图"编辑"按钮后,该按钮和它下面的所有按钮文字都会变为"更新",网页载入后,首次点击第一个"编辑"按钮,如下图,此时数组sub为sub[1]=编辑,我认为应该是sub[1]=更新.第二次点击第一个编辑按钮,如下图,此时sub[1]=更新,和我预计的正好相反之后再点击第一个编辑按钮,数组值和页面效果都不会发生变化,如果点击第二个或下面的按钮,该按钮和其下面的按钮文字都会都会变成"更新",该按钮上面的按钮文字都会变成"编辑",如图不晓得是我对页面提交以后,PHP对网页的处理过程的理解不对,还是代码有问题,希望各位给指正,最好能贴上修改后的代码,要去上课,晚一些会回帖,谢谢
1 下一页