我需要将选择值传递给会话而不刷新页面。 我认为可以使用onchange事件。
实际上,我可以将选择值放入文本字段。
HTML
选择
<select id="dropdown1" class="select" tabindex="2" onchange="run(this)">
<option>Select</option>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
文本框:
<input type="text" id="car" name="car" id="car" value="<?=$_POST[car]?>" disabled />
的JavaScript
function run(sel) {
var i = sel.selectedIndex;
if (i != -1) {
document.getElementById("car").value = sel.options[i].text;
}
}
问题
如何从下拉列表中选择值时设置变量的值?
$_SESSION['car'] = DROPDOWN VALUE
答案 0 :(得分:2)
如果你可以使用jQuery,这将有效:
function run(sel) {
var i = sel.selectedIndex;
if (i != -1) {
document.getElementById("car").value = sel.options[i].text;
$.ajax({
type: "POST",
url: "urPHPPage.php",
data: { car: sel.options[i].text}
}).done(function( msg ) {});
}
}
并在您的PHP文件中
if(isset($_POST["car"])){
$_SESSION['car'] = $_POST["car"]; //offcourse you will have to do some sanitization here
}
答案 1 :(得分:0)
由于您的会话是服务器端事件,并且您的onchange
事件是客户端事件,因此您需要使用AJAX
来更改下拉选项而不刷新页面。
您需要在onchange
事件上运行JavaScript函数。
在该功能中,您需要使用AJAX
才能连接到您的浏览器/数据库并保存session['car']
希望它有所帮助。