maffy: Dynamischer Update einer Selectbox

Beitrag lesen

Hallo!

Ich habe ein Formular um Artikel in eine Datenbank einzutragen und mit einer Selectbox für die Kategorieauswahl.

Jetzt habe ich ein paar Ajax Funktion erstellt um neue Haupt- und Unterkategorien direkt im Formular anzulegen.

Das funktioniert auch soweit recht gut.

Mein Problem ist es nun, die Selectbox in das Formular zu laden und die Daten nach dem Anlegen einer neuen Kategorie, anzeigen zu lassen.

Im Augenblick lasse ich die Selectbox durch klick auf einen Button anzeigen.

  
<!--  Update Kategorie - Ajax Funktionen -->  
 <script type="text/javascript" src="plugins/artikel/js/ajax.js"></script>  
  
<script>  
  
var txtmsg1 = "";  
var txtmsg2 = "";  
  
/* Hauptkategorie speichern Funktionen */  
function savehcat(){  
  
	var f = document.addfrm;	  
	hcattitel = f.addhcatname.value;  
	hcatdesc = f.addhcatdesc.value;  
	  
	var ajax1 = createRequest();  
	ajax1.open('get','plugins/artikel/artikel.addcat.php?hcat='+hcattitel+'&hdesc='+hcatdesc+'',true);  
	ajax1.onreadystatechange = function() { ajaxwert_einfuegen(ajax1,'txtmsg1') };  
	ajax1.send(null);  
						  
}  
  
  
/* Haupt Kategorie anlegen */  
function addnewcat(){  
	document.getElementById('addnewhcat').style.display = 'block';  
	document.getElementById('addnewscat').style.display = 'none';  
	document.getElementById('kategorieselect').style.display = 'none';	  
}  
  
/* Unter Kategorie anlegen - lädt Selectbox nur mit Hauptkategorie */  
function addnewscat(){  
	  
	document.getElementById('addnewscat').style.display = 'block';  
	document.getElementById('addnewhcat').style.display = 'none';  
	document.getElementById('kategorieselect').style.display = 'none';			  
	// Selectbox update der Einträge  
	var ajax2 = createRequest();  
	ajax2.open('get','plugins/artikel/artikel.catselect.php?q=select',true);  
	ajax2.onreadystatechange = function() { ajaxwert_einfuegen(ajax2,'selectbox') };  
	ajax2.send(null);	  
}  
  
  
/* Kategorie Selectbox - Selectbox mit Haupt- und Unterkategorie anzeigen */  
function setcat(){  
	  
	document.getElementById('addnewscat').style.display = 'none';  
	document.getElementById('addnewhcat').style.display = 'none';  
	document.getElementById('kategorieselect').style.display = 'block';	  
		  
	// Selectbox anzeigen  
	var ajax3 = createRequest();  
	ajax3.open('get','plugins/artikel/artikel.catselect.php?q=all',true);  
	ajax3.onreadystatechange = function() { ajaxwert_einfuegen(ajax3,'catselectbox') };  
	ajax3.send(null);	  
}  
  
  
</script>  
  

  
// Artikel Formular  
$frm_edit_artikel = "<form action='?artikel&amp;aktion=acpaddnew' method='post' name='addfrm'>  
<input type=hidden name=neu value=ok>  
  
<table border=0 cellspacing=5 cellpadding=5>  
<tr>  
<td>  
Titel:<br><input type=text name=titel style=width:444px value=\"".$titel."\" maxlength='80'>  
</td>  
</tr>  
  
<tr>  
<td>  
Betreff:<br><input type=text name=betreff style=width:444px value=\"".$betreff."\" maxlength=75>  
</td>  
</tr>  
  
<tr>  
<td>Autor:<br><input type=text name=autor style=width:444px value=\"".$autor."\" maxlength=50></td>  
</tr>  
  
<tr>  
	<td>  
	<b>Kategorie Aktionen:</b> -  
		<input type='button' value='K' title='Zeigt alle Kategorien an ' onclick='setcat();'> &nbsp;  
		<input type='button' value='H' title='Legt eine neue Hauptkategorie an' onclick='addnewcat();'> &nbsp;  
		<input type='button' value='S' title='Legt eine neue Unterkategorie an' onclick='addnewscat();'> &nbsp;  
		  
	</td>  
</tr>  
  
  
<tr id=\"kategorieselect\" style=\"display:none;\">  
<td><span id='catselectbox'>Hier sollte die Kategorie Selectbox erscheinen.</span></td>  
</tr>  
  
  
<tr id=\"addnewhcat\" style=\"display:none;\">  
<td>  
<b>Neue Hauptkategorie anlegen:</b><br /><br />  
<br /> <span id='txtmsg1'></span>  
<br /> Kategorie Name:<br><input type='text' id='addhcatname' name='addhcatname' style=\"width:300px\" maxlength=50>  
<br /> Kategorie Beschreibung:<br><input type='text' id='addhcatdesc' name='addhcatdesc' style=\"width:300px\" maxlength=50><br/>  
<br /><br /><center> <input type='button' value='Datensatz speichern' onclick='savehcat();' title='Diese Funktion speichert die Daten für die neue Hauptkategorie.'></center>  
<IMG style=\"display: none;\" id=\"ajax-loader\" alt=\"Loading...\" src=\"plugins/artikel/images/loader.gif\">  
<span id='txtHinweis1'></span><br><br>  
</td>  
</tr>  
  
<tr id=\"addnewscat\" style=\"display:none;\">  
<td>  
<b>Unterkategorie anlegen:</b><br />Bitte Kategorie auswählen:&nbsp;  
<span id='selectbox'>Hier sollte die Selectbox mit der neuen Hauptkategorie erscheinen.</span>  
Unterkategorie Name: <input type='text' id='addscat' name='addscat' style=\"width:300px\" maxlength=50>  
<br /><center><input type='button' value='Speichern' onclick='savenewscat();' title='Legt eine neue Unterkategorie an.'></center>  
<IMG style=\"display: none;\" id=\"ajax-loader\" alt=\"Loading...\" src=\"plugins/artikel/images/loader.gif\">  
<span id='txtmsg2'></span>  
</td>  
</tr>  
  
  
<tr>  
<td>Tags:<br><input type=text name=tags style=width:444px value=\"".$tags."\" maxlength=50></td>  
</tr>  
  
<tr>  
<td>  
Artikeltext: (keine HTML-Formatierung erlaubt)<br>  
<textarea name='artikel' style='width:444px;height:222px'>".$artikel."</textarea>  
</td></tr>  
  
<tr><td>Backlink:<br><input type=text name=backlink style=width:444px value=\"".$backlink."\" maxlength=250></td></tr>  
  
<tr><td>Ihre E-Mail-Adresse:<br><input type=text name=email style=width:444px value=\"".$email."\" maxlength=50></td></tr>  
  
<tr><td><input type=checkbox name=regelcheck value=ok>Ich habe die <a href='?artikel&amp;aktion=regeln' target='_blank'>Regeln</a> gelesen und akzeptiert.</td></tr>  
  
<tr><td align=right><input type='submit' value='Artikel jetzt ver&ouml;ffentlichen'></td></tr>  
  
</table></form>";