Hallo,
ich habe eine Seite, die per Klick auf einen Button der über Ajax ein Div-Fenster einblendet und ein Formular darstellt.
Der Aufruf ist einfach gehalten und funktioniert wie erwartet:
function add_hist(hist_idnr,hist_db) {
var req = new XMLHttpRequest();
t = document.getElementById("b_histadd");
r = document.getElementById("hidden_helper");
if (r.style.visibility == "hidden") {
a=getPosition(t);
minuswert = 0;
pluswert = 21;
zielx = a.x-minuswert+"px";
ziely = a.y+pluswert+"px";
r.style.top = ziely;
r.style.left = zielx;
r.style.height = hoehe+"px";
r.style.visibility = "visible";
req.onreadystatechange = function() {
switch(req.readyState) {
case 0:
case 1:
case 2:
case 3: return;
case 4: break;
}
resulttext = req.responseText;
document.getElementById("hidden_helper").innerHTML = resulttext;
}
pfad = rootpfad+'/templates/add_history_form.php?hist_idnr='+hist_idnr+'&historie_db='+hist_db;
req.open('get', pfad);
req.send(null);
} else {
r.style.visibility = "hidden";
}
}
Das Formular ist eigentlich auch total einfach:
<?
if (empty($histdatum)) {
$histdatum = date("Y-m-d, H:i:s");
}
?>
<div id="form-wrapper">
<form name="historyform" id="historyform" method="post">
<label for="histdatum">Datum:</label>
<div><input type="text" id="histdatum" name="histdatum" class="tcal" value="<?=$histdatum;?>" required="required" /></div>
<label for="titel">Titel</label>
<input type="text" name="titel" id="titel" placeholder="aussagekräftiger Titel" />
<label for="beschreibung">Beschreibung</label>
<textarea class="noresize" name="beschreibung" id="beschreibung" cols="40"></textarea>
<input type="hidden" name="hist_idnr" id="hist_idnr" value="<?=$hist_idnr;?>">
<input type="hidden" name="historie_db" id="historie_db" value="<?=$historie_db;?>">
<br/>
<input class="button" type="button" value="Speichern" onClick="alert(document.historyform.beschreibung.value);" />
</form>
</div>
Das Problem ist, dass er beim Alert meckert, dass document.historyform nicht bekannt sei, aber ich hab keine Idee warum das so ist. Kann mir da jemand einen Tipp geben?
Marvin