Új hozzászólás Aktív témák
-
bLaCkDoGoNe
veterán
Sziasztok,
AJAX-szal akadt egy kis problémám... most tanulgatom a dolgot, és egy olyan (egyszerűnek tűnő) dolgot szeretnék megcsinálni, hogy van egy formom, benne 2 lenyíló lista, és a második lista elemei aszerint épüljenek fel, hogy mit választottam ki az első lenyíló listában.
Az első listában minden elem rendelkezik egy értékkel. Ezzel az értékkel meghívok egy másik php oldalt, ami ennyit csinál:
<?php
switch($_GET['mit'])
{
case "1":
echo "<option value='11'>Első.1</option>";
echo "<option value='12'>Első.2</option>";
echo "<option value='13'>Első.3</option>";
break;
case "2":
echo "<option value='21'>Második.1</option>";
echo "<option value='22'>Második.2</option>";
echo "<option value='23'>Második.3</option>";
break;
case "3":
echo "<option value='31'>Harmadik.1</option>";
echo "<option value='32'>Harmadik.2</option>";
echo "<option value='33'>Harmadik.3</option>";
break;
}
?>Elvileg (én legalábbis azt hittem) így feltölti a második lenyíló listát az elsőnek megfelelő al-elemekkel, de nagyon nem akar működni. A FireBug szerint megjön a megfelelő response (pl. <option value='21'>Második.1</option><option value='22'>Második.2</option><option value='23'>Második.3</option>), de az elemek nem jelennek meg a második listában.
Ha segít, itt van a másik oldal kódja is, hátha segít kitalálni, mit szúrtam el:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<script language="javascript" type="text/javascript">
function getHTTPObject() {
var xmlhttp;
/*@cc_on
@if (@_jscript_version >= 5)
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
@else
xmlhttp = false;
@end @*/
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
try {
xmlhttp = new XMLHttpRequest();
} catch (e) {
xmlhttp = false;
}
}
return xmlhttp;
}
var http = getHTTPObject();
function updateLista() {
var mit = document.getElementById("select_lista").value;
http.open("GET", url + escape(mit), true);
http.onreadystatechange = handleHttpResponse;
http.send(null);
}
var url = "valaszt.php?mit="; // The server-side script function handle
function handleHttpResponse()
{ if (http.readyState == 4) {
result = http.responseText;
document.getElementById('kivalasztott_ertek').value = result;
}
}
</script>
</head>
<body>
<form action='select.php?action=submit' method='post' name='valasztas'>
<select name='select_lista' id='select_lista' onChange='updateLista()'>
<option value='1'>Első</option>
<option value='2'>Második</option>
<option value='3'>Harmadik</option>
</select>
<br />
<select name='kivalasztott_ertek' id='kivalasztott_ertek'>
</select>
</body>
</html>Bármilyen ötletnek, tanácsnak örülnék, mert itt elakadtam, és bár csak most ismerkedem az AJAX-szal, azt hittem, hogy ez nem lesz túl nagy falat.
Köszi előre is.
Új hozzászólás Aktív témák
- Assetto Corsa Rally
- Villanyszerelés
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Lexus, Toyota topik
- Tápos kibeszélő offtopik
- Építő/felújító topik
- PlayStation 5
- Xiaomi 15T Pro - a téma nincs lezárva
- Linux Mint
- További aktív témák...
- Apple iPhone 13 128GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Galaxy Tab A9+ 128GB,Újszerű,Dobozaval,12 hónap garanciával
- Samsung Galaxy Tab S6 lite 64GB,Átlagos,Adatkabel,12 hónap garanciával
- Apple iPhone 13 128GB, Kártyafüggetlen, 1 Év Garanciával
- Corsair 32GB KIT DDR4 4600MHz CL18 Vengeance RGB RT - 12 hónap garancia
- Apple iPhone 12 Mini 64GB,Újszerű,Adatkabel,12 hónap garanciával
- BESZÁMÍTÁS! 16GB G.skill Ares 2400Mhz DDR3 memória garanciával hibátlan működéssel
- iPhone 14 Pro Max 256GB Space Black -1 ÉV GARANCIA -Kártyafüggetlen
- HIBÁTLAN iPhone 15 128GB Pink-1 ÉV GARANCIA - Kártyafüggetlen, MS4443
- BESZÁMÍTÁS! Asus H510M i5 10400F 16GB DDR4 512GB SSD RTX 2060 Super 8GB Rampage SHIVA 650W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

Köszi előre is.