th23
Mitglied
Hallo,
mein Problem ist leider etwas komplizierter... ich hatte es eigentlich schon am funktionieren, aber so richtig funktioniert es nicht. Hoffe irgendjemand kann mir helfen
Ich poste den Code mal möglichst vollständig, damit es zu keinen Missverständnissen kommt. Ich hoffe das ist in Ordnung.
Hier ist der HTML-Teil:
Hier der JavaScript Teil:
Und hier der Backend-Teil (PHP) bzw. das, was dieser (mit Parametern aufgerufen) produziert ... genau der erwartete Code:
Schon mal vorab: Vielen Dank für jeden Tip!
edit: Achso...der alert(readystate) gibt immer 1 als Wert aus... vielleicht gibt das einen Hinweis auf das Problem. Ich weiss es allerdings nicht...
mein Problem ist leider etwas komplizierter... ich hatte es eigentlich schon am funktionieren, aber so richtig funktioniert es nicht. Hoffe irgendjemand kann mir helfen
Ich poste den Code mal möglichst vollständig, damit es zu keinen Missverständnissen kommt. Ich hoffe das ist in Ordnung.
Hier ist der HTML-Teil:
Code:
<form method="post" action="<?php echo $filename.$SID ?>">
<select name="perm_new[]" id="perm_new" size="10" multiple="multiple"><?php /* option Füllanweisungen per php */ ?></select>
<div id="perm_new_manipulate"><a href="#" onClick="searchMember('perm_new');">Search single member...</a></div>
<input type="submit" value="OK" />
</form>
Hier der JavaScript Teil:
Code:
<script language="javascript" type="text/javascript">
var url = "th23test_xmlhttp.php?user_name_search="; // The server-side script
function handleHttpResponse(element) {
alert(http.readyState);
if (http.readyState == 4) {
if (http.responseText.indexOf('invalid') == -1) {
var manipulate_name = element + '_manipulate';
var manipulate_div = document.getElementById(manipulate_name);
manipulate_div.innerHTML = http.responseText;
isWorking = false;
}
}
}
var isWorking = false;
function searchMember_execute(element) {
if (!isWorking && http) {
var user_name_search_name = element + '_user_name_search';
var user_name_search = document.getElementById(user_name_search_name).value;
http.open("GET", url + "?element=" + escape(element) + "&user_name_search=" + escape(user_name_search), true);
var manipulate_name = element + '_manipulate';
var manipulate_div = document.getElementById(manipulate_name);
manipulate_div.innerHTML = "Search in progress...";
http.onreadystatechange = handleHttpResponse(element);
isWorking = true;
http.send(null);
}
}
function addMember(element) {
var add_user_id_select = document.getElementById("add_user_id");
var add_user_id = add_user_id_select.value;
var add_user_value = '+u' + add_user_id;
var add_user_name = '[User] ' + add_user_id_select.options[add_user_id_select.selectedIndex].text;
var perm_new_manipulate_div = document.getElementById("perm_new_manipulate");
var addOption = new Option(add_user_name, add_user_value, false, true);
document.getElementById("perm_new").options[document.getElementById("perm_new").length] = addOption;
perm_new_manipulate_div.innerHTML = "<a href=\"#\" onClick=\"searchMember();\">Search single member...</a>";
}
function searchMember(element) {
var manipulate_name = element + '_manipulate';
var manipulate_div = document.getElementById(manipulate_name);
manipulate_div.innerHTML = "<form onSubmit=\"searchMember_execute('" + element + "');\"><input type=\"text\" name=\"" + element + "_user_name_search\" id=\"" + element + "_user_name_search\" /> <input type=\"button\" value=\"Suchen\" onClick=\"searchMember_execute('" + element + "');\" /></form>";
}
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(); // We create the HTTP Object
</script>
Und hier der Backend-Teil (PHP) bzw. das, was dieser (mit Parametern aufgerufen) produziert ... genau der erwartete Code:
Code:
<form onSubmit="addMember('perm_new');">
<select name="perm_new_add_user_id" id="perm_new_add_user_id">
<option value="1">Anonymous</option>
<option value="2">test</option>
</select>
<input type="button" value="Hinzufügen" onClick="addMember('perm_new');" />
</form>
<a href="#" onClick="searchMember('perm_new');">New search...</a>
Schon mal vorab: Vielen Dank für jeden Tip!
edit: Achso...der alert(readystate) gibt immer 1 als Wert aus... vielleicht gibt das einen Hinweis auf das Problem. Ich weiss es allerdings nicht...
Zuletzt bearbeitet: