Hello,
我想問一下怎樣可以根據選取的年份, 在提交時動態地加上年份的路徑呢
例如 a.php/年份/
<form action="a.php" method="get">
<h3>Photo Search Engine</h3>
<br>
<table border=0>
<tr>
<td><select name="myDb">
<option value="2003">2003 year
<option value="2004">2004 year
<option value="2005">2005 year
<option value="2006">2006 year
</select></td>
</tr>
</table>
<input type="submit" value="submit">
</form>
Get不曉得怎麼做
如果是Post可以參考下面程式
<html>
<body>
<form onsubmit="return path();" method="post" name="myform">
<h3>Photo Search Engine</h3>
<br>
<table border=0>
<tr>
<td><select id="myDb" >
<option value="2003">2003 year
<option value="2004">2004 year
<option value="2005">2005 year
<option value="2006">2006 year
</select></td>
</tr>
</table>
<input type="submit" value="submit">
</form>
</body>
</html>
<script type="text/javascript">
function path(){
document.myform.action ="a.php/"+document.getElementById("myDb").value;
return true;
}
</script>
把你的 submit 按鈕改成如下
<form action="a.php" method="get">
<h3>Photo Search Engine</h3>
<br>
<table border=0>
<tr>
<td><select name="myDb">
<option value="2003">2003 year
<option value="2004">2004 year
<option value="2005">2005 year
<option value="2006">2006 year
</select></td>
</tr>
</table>
<input type="button" value="submit" onclick="location.href='a.php/'+this.form.myDb.value+'/';">
</form>
原本我想將html → php , 然後修改發送的路徑
<form action="a.php/<?php echo $_GET['myDb'];?>/" method="get">
除非你還有其他表單資料要送。不然的話,只有這個年份,那我這個改法就能達到你的要求了,不懂為何還要費事submit一次到server,只為了串接這個值。或是你需要的是這樣:
<form action="a.php/2003/" method="get">
<h3>Photo Search Engine</h3>
<br>
<table border=0>
<tr>
<td><select name="myDb" onchange="this.form.action='a.php/'+this.value+'/';">
<option value="2003">2003 year
<option value="2004">2004 year
<option value="2005">2005 year
<option value="2006">2006 year
</select></td>
</tr>
</table>
<input type="submit" value="submit">
</form>
首先,已經很多人跟你說答案了。我就不在重覆
但從你的回應中。你似乎並沒搞懂何謂前端何謂後端。
從你說的
<form action="a.php/<?php echo $_GET['myDb'];?>/" method="get">
就可以了解到,你是想要後端應用值變動。
可惜的是,你操作的是前端 SELECT
後端只是負責生成html後,就不會再有任何運做。
這點你可以去檢查你的 html原始頁。一定看不到<?php這類的碼存在的。
所以,你沒將後端運行原理及前端運行原理給搞清楚。
造成這樣你認為的行為及認為的可行性。
正常來說,一但了解前端及後端的運行原理來說。
就不會產生你想要「那樣」的做法。因為辦不到的。
我在前端是無法再操作PHP的。
以上不是針對你的問題回答。只是單純厘清你的問題所在。