Hjælp til AJAX script
Hej eksperterJeg har tidligere fået hjælp til et AJAX script som jeg nu gerne vil have udvidet.
Det jeg har nu består i, at når man har valgt en hovedkategori i en dropdown, hentes de tilhørende underkategorier ud i en anden dropdown, og det fungerer fint.
Det er knyttet til et bibliotekssystem hvor hver bog får et bognummer med følgende struktur:
Ex: 2-3036
2-tallet kommer fra valg af hovedkategorien.
Bindestregen indsættes som fast del.
3-tallet efter bindestregen kommer fra valg af underkategorien.
De sidste 3 cifre er fortløbende, men skal pt. indtastes manuelt og det er her jeg gerne vil have, at scriptet automatisk finder det sidst oprettede tal og ligger én til og printer det i mit input felt.
Jeg har pt. følgende kode:
AJAX-scriptet
<script type="text/javascript">
function GetXmlHttpObject() {
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject) {
// code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
function GetAjaxData(Outputdiv){
var url = "include/request.php";
var Val = document.create.parent.options[document.create.parent.selectedIndex].value;
var params = "pid=" + Val;
http = GetXmlHttpObject();
http.open("GET", url+"?"+params, true);
http.onreadystatechange = function () {
if(http.readyState == 4 && http.status == 200 ){
document.getElementById(Outputdiv).innerHTML = http.responseText;
}
}
http.send(null);
}
</script>
med tilhørende form-felter:
Hovedkategori
<div id="box1">
<?php
echo '<select size="1" id="parent" name="parent" onchange ="GetAjaxData(\'box2\')">
<option selected="selected" value="">Vælg her</option>';
$sql = "SELECT * FROM parents order by pid asc";
$query = mysqli_query($db,$sql) or die (mysqli_error($db));
while ($res = mysqli_fetch_array($query)){
$tmp = $res['pname'];
$id = $res['pid'];
echo "<option value = \"$id\">$tmp</option>";
}
echo "</select>";
?>
</div>
Underkategori
<div id="box2">
<select>
<option> </option>
</select>
</div>
3 sidste tal
<div id="box3"><input type="text" name="endnum" class="" /></div>
Derudover er der følgende kode der henter underkategorierne når hovedkategorien er valgt:
<?php
require_once("config.php");
$pid = $_GET['pid'];
print "<select size='1' id='kategori' name='kategori' >
<option selected='selected' value=''>Vælg her</option>";
$sql = "SELECT * FROM bogkategorier where kparent=$pid";
$query = mysqli_query($db,$sql) or die (mysqli_error($db));
while ($res = mysqli_fetch_array($query)){
if(strlen($res['ktitel']) > 50){
$tmp = substr($res['ktitel'],0,50)."...";
}else{
$tmp = $res['ktitel'];
};
$id = substr($res['knum'],0,1);
print "<option value = \"$id\">$tmp</option>";
}
print "</select>";
?>
Ovenstående script ønskes udvidet, så feltet til de sidste 3 tal bliver udregnet og printet autonatisk.
Håber der er nogen der kan hjælpe.