ivuu

form中action属性后面?传递参数 获取不到

 1 $p_id = $_REQUEST[\'p_id\'];
 2 
 3 echo "<h1>您将更新商品编号为<span>$p_id</span>的商品信息 <a href=\'listproduct.php\'>查看所有</a></h1>
 4 <form action=\'updateproduct.do.php?p_id=$p_id\' method=\'get\'> 
 5   商品名称:<input type=\'text\' name=\'p_name\' value=\'".$result_name2["name"]."\'>商品名称小于10个字<br><br>
 6   商品价格:<input type=\'text\' name=\'p_price\' value=\'".$result_price2["price"]."\'>价格大于0且小于99999.99(保留两位小数)<br><br>
 7   图片:<input type=\'text\' name=\'p_pic\' value=\'".$result_pic2["pic"]."\'>请输入图片src<br><br>
 8   生产日期:<input type=\'text\' name=\'p_date\' value=\'".$result_onShelfDate2["onShelfDate"]."\'>格式:yyyy-mm-dd<br><br>
 9   详细信息:<input type=\'text\' name=\'p_detail\' value=\'".$result_detail2["detail"]."\'>详细信息请保持在50字以内<br><br>
10   <button>提交</button>
11 </form>";
12 ?>

 

如上代码,想要在点击button提交跳转到updateproduct.do.php的同时,将本页获取的$p_id,通过url值传到下个页面里。可是每次点击button后 地址栏里都只有   updateproduct.do.php?p_name=11&p_price=22&p_pic=33&p_date=44&p_detail=55 ”

p_id怎么都传不过去。折腾了半天,其实原因很简单,(以下为个人理解,但是问题解决了)在method=get下,form表单只接收表单元素”name“属性和相应的”value“。想要通过在action中自己写?的形式传值,method的值必须是=post,即代码中第二行改为:

<form action=\'updateproduct.do.php?p_id=$p_id\' method=\'post\'>

改成这样就可以了!

 

还有一种方法,必须用method=get是,那就应该加一个type="hidden"的input,即在4,5行之间加入如下代码:

 

<input type=\'hidden\' name=\'p_id\' value=\'".$p_id."\' >

 

 

 

 

以上很多话都不规范,可能不严谨,尽请指正!

 


END


 

分类:

技术点:

相关文章: