2015-09-17 92 views
0

我想创建一个带有选项值的动态链接,但它不起作用。有人能帮我找到错误吗?PHP获取url的变量值选择

这里是我的代码:

<select id="ID1"name="provincia"> 
<option value=""selected="selected">Seleziona dal menuù a tendina</option> 
<option value="agrigento">Agrigento </option> 
<option value="alessandria">Alessandria </option> 
<option value="ancona">Ancona </option> 
<option value="aosta">Aosta </option> 
<option value="aquila">L'Aquila </option> 
</select> 

<a href="https://domainname.com/clients/cart.php?a=add&pid=76&sld=<?php echo $_GET["provincia"]; ?>&systpl=e24&language=Italian"> Clicca Qui </a> 
+1

你并不需要为这个...链接PHP应该同一页面上生成,正确做到这一点? – sinisake

+1

这听起来像一个Javascript的东西... –

回答

0

我觉得你确实需要这个JavaScript,否则你将需要通过GET(或邮寄)方法发送的形式,刷新页面(或使用AJAX)来更新链接...这是更简单的方法,恕我直言:

<select id="ID1"name="provincia" onchange="get_url(this.value);"> 
<option value=""selected="selected">Seleziona dal menuù a tendina</option> 
<option value="agrigento">Agrigento </option> 
<option value="alessandria">Alessandria </option> 
<option value="ancona">Ancona </option> 
<option value="aosta">Aosta </option> 
<option value="aquila">L'Aquila </option> 
</select> 

<a id="link" href="https://domainname.com/clients/cart.php?a=add&pid=76&sld=VAR&systpl=e24&language=Italian"> Clicca Qui </a> 

JS:

function get_url(val) { 
    link=document.getElementById('link'); 

link.href=link.href.replace(/sld=\w+/,'sld='+val); 
    console.log(link.href); 
} 

演示:http://jsfiddle.net/emjj473g/1/

(F12,打开控制台,看到链接更新,和/或点击链接到看到它真正的作品...)

解释,如果需要的话,你可以调用GET_URL()函数onchange事件处理程序并将选定的值传递给它,然后替换属性a element/link的所需部分。当然,您可以创建附加条件来检查值(例如,用户必须选择有效值来更新链接)。

+0

我在哪里可以插入Js代码? – Weadom

+0

里面

0

您可以用PHP这样的事情

<?php 
$locations = ['Arizona', 'Siberia', 'Antarctica']; 
if (isSet($_GET['selection'])) { 
    $q = urlEncode($locations[$_GET['selection']]); 
    header('Location: http://www.google.com/search?q=' . $q); } 
?> 
<form method="get" action="?"> 
    <p> 
     <select id="selection" name="selection"> 
     <option value="0">Arizona</option> 
     <option value="1">Siberia</option> 
     <option value="2">Antarctica</option> 
     </select> 
    </p> 
    <p><input type="submit"/></p> 
</form>