Guten AAbend zusammen,
Ich hätte da mal wieder einen Punkt wo ich nicht weiter komme.
Und zwar versuche ich einen Formular Button, der aus einem Ajax request kommt, mit event.preventDefault();
zu behandeln. Das sieht etwa folgendermaßen aus.
a.php
$arr = array(a,b,c,d,e,f);
$response = array();
foreach($arr as $value)
{
$markUp = '';
if($value == 'a' OR $value == 'c')
{
$markUp = $markUp.'<form action="b.php" method="post">
<input class="button" id="submit_'.$value.'" type="submit" onclick="submit('.$value.')"/>
<form>';
$isButton = 'TRUE';
}
else
{
$isButton = 'FALSE';
}
$response[$value]['markUp'] = $markUp;
$response[$value]['isButton'] = $isButton;
}
echo json_encode($response);
Nun der Ajax request:
function list()
{
var hr = new XMLHttpRequest();
var url = "a.php";
hr.onreadystatechange = function()
{
if (hr.readyState == 4 && hr.status == 200)
{
var div = document.getElementById("content_wrapper");
var response = JSON.parse(hr.responseText);
for(var key in response){
div.innerHTML += response[key]['markUp'];
if(response[key]['isButton'] == 'TRUE'){
document.getElementById("submit_"+key).addEventListener("click", function(event){
event.preventDefault()
});
}
}
}
}
hr.open("POST", url, true)
hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
hr.send();
}
Ja, so sieht es gerade aus, wenn ich kein Fehler beim tippen gemacht habe. Habe ich einen gar schrecklichen Denkfehler?
Jedenfalls ist das Element mit der ID vorhanden wenn document.getElementById("submit_"+key).addEventListener("click", function(event)
zur Tat schreitet, da kommt aufjedenfall kein Fehler zurück.
Vielen Dank schonmal für eure Hilfe.
Gruß Jo