如下所示:
1
2
3
4
5
6
7
8
9
10
11
12
|
$p_id = $_REQUEST [ 'p_id' ];
echo "<h1>您将更新商品编号为<span> $p_id </span>的商品信息 <a href= 'listproduct.php' >查看所有</a></h1>
<form action= 'updateproduct.do.php?p_id=$p_id' method= 'get' >
商品名称:<input type= 'text' name= 'p_name' value= '".$result_name2["name"]."' >商品名称小于10个字<br><br>
商品价格:<input type= 'text' name= 'p_price' value= '".$result_price2["price"]."' >价格大于0且小于99999.99(保留两位小数)<br><br>
图片:<input type= 'text' name= 'p_pic' value= '".$result_pic2["pic"]."' >请输入图片src<br><br>
生产日期:<input type= 'text' name= 'p_date' value= '".$result_onShelfDate2["onShelfDate"]."' >格式:yyyy-mm-dd<br><br>
详细信息:<input type= 'text' name= 'p_detail' value= '".$result_detail2["detail"]."' >详细信息请保持在50字以内<br><br>
<button>提交</button>
</form>";
?>
|
如上代码,想要在点击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,即代码中第二行改为:
1
|
< form action = 'updateproduct.do.php?p_id=$p_id' method = 'post' >
|
改成这样就可以了!
以上这篇解决form中action属性后面?传递参数 获取不到的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。