<form action="../">
<select onchange="window.open(this.options[this.selectedIndex].value,'_top')">
<option value="">Choose a zipcode </option>
<option value="92507">92507</option>
<option value="30078">30078</option>
<option value="92606">92606</option>
<option value="30004">30004</option>
<option value="32034">32034</option>
<option value="37160">37160</option>
</select>
</form>
我创建了一个下拉菜单,用户可以在其中选择邮政编码。我想将用户选择的zipcode发送到php脚本。如何解决这个问题?
到目前为止,这是我所做的/理解的。我需要在我的php文件中添加这行代码$php_variable = $_GET['param1'];
,这将获得javascript通过url发送的param1的邮政编码。我可以在我的javascript中使用ajax函数并调用帖子来发送数据。我是在正确的轨道上吗?如何将用户选择的邮政编码实际保存到变量中。也不应该在脚本中使用ajax吗?我还可以将下拉菜单放在脚本部分吗?
几乎就在那里。当前的问题是当我点击特定的邮政编码时。这是我得到的http://localhost:8888/92606
而不是http://localhost:8888/getuv.php?param1=92606
答案 0 :(得分:0)
<form action="page.php" method="post">
<selecton name="zip" onchange="window.open(this.options[this.selectedIndex].value,'_top')">
<option value="">Choose a zipcode </option>
<option value="92507">92507</option>
<option value="30078">30078</option>
<option value="92606">92606</option>
<option value="30004">30004</option>
<option value="32034">32034</option>
<option value="37160">37160</option>
</select>
</form>
在page.php上的你应该像
一样编码<?php
$code=$_POST['code'];
echo 'the zip code is'.$code;
?>
答案 1 :(得分:0)
你应该尝试前端的jquery方式。
<select id="myList">
<option value="">Choose a zipcode </option>
<option value="92507">92507</option>
<option value="30078">30078</option>
<option value="92606">92606</option>
<option value="30004">30004</option>
<option value="32034">32034</option>
<option value="37160">37160</option>
</select>
$("#myList").change(function () {
var myValue = $("#myList option:selected").val();
sendToServer(myValue);
});
var sendToServer = function(myValue){
// Use some ajax
jQuery.ajax(
type: "GET",
url: 'http://host.com/' +'param1='+ myValue,
beforeSend: function(){
// do something
},
success: function(data){
// success
}
});
}
答案 2 :(得分:0)
您需要在select标记中为名称指定'param1':
code:
<form action="../"> <select name = 'param1' onchange="window.open(this.options[this.selectedIndex].value,'_top')">
<option value="">Choose a zipcode </option>
<option value="92507">92507</option>
<option value="30078">30078</option>
<option value="92606">92606</option>
<option value="30004">30004</option>
<option value="32034">32034</option>
<option value="37160">37160</option>
</select>
</form>
答案 3 :(得分:0)
您忘记了name属性,而您使用的onchange方法只是打开一个新窗口,其中param1为url。
<form action="../">
<select name="param1" onchange="this.form.submit()">
<option value="">Choose a zipcode </option>
<option value="92507">92507</option>
<option value="30078">30078</option>
<option value="92606">92606</option>
<option value="30004">30004</option>
<option value="32034">32034</option>
<option value="37160">37160</option>
</select>
</form>