CGollhardt
Mitglied
Hallo Miteinander,
ich sitze gerade vor einem Problem. Ich setze mich derzeit mehr mit Javascript auseinander und den neuen Möglichkeiten mit Jquery und Ajax. Bisher war ich wohl noch zu sehr mit der "alten" Welt vertraut.
Ich würde gerne ein Formular per Ajax versenden, der Clue es sollte absolut generisch sein.
Um mein Anliegen genauer zu beschreiben, möchte ich euch zeigen, wie ich einen Link Ajaxifiziere:
Mit der Methode UseAjax wird das ganze Ajaxifiziert
Soetwas hätte ich gerne für ein Formular. In etwa so:
In der foo.php möchte ich gerne folgendes auswerten können
Also im Grunde soll es so etwas ähnliches wie UpdatePanel von ASP.NET werden, Nur halt für PHP.
Ist dies irgendwie möglich? Ich möchte nicht jedes einzelne Element ansprechen wollen, da dies Architektonisch in meiner PHP-Anwendung aufgrund loser Kopplung nicht machbar wäre.
Vielen Dank für eure Antworten.
//Edit:
Wichtig wäre für mich auch ein Fallback, wenn Ajax/JS nicht unterstützt werden würde.
ich sitze gerade vor einem Problem. Ich setze mich derzeit mehr mit Javascript auseinander und den neuen Möglichkeiten mit Jquery und Ajax. Bisher war ich wohl noch zu sehr mit der "alten" Welt vertraut.
Ich würde gerne ein Formular per Ajax versenden, der Clue es sollte absolut generisch sein.
Um mein Anliegen genauer zu beschreiben, möchte ich euch zeigen, wie ich einen Link Ajaxifiziere:
HTML:
<a onclick="return UseAjax(this)" href="<?php echo $this->_['Url']; ?>" class="<?php echo $this->_['Class']; ?>"><?php echo $this->_['Text']; ?></a>
Mit der Methode UseAjax wird das ganze Ajaxifiziert
Code:
/**
* Versucht den Link per Ajax zu laden
* @return {boolean}
*/
function UseAjax(sender) {
var url = $(sender).attr('href') + '?ajax=true';
$.getJSON(url, function (data) {
$('#AjaxContent').html(data.Content);
document.title = data.Title;
});
return false;
//$('div#content').load(sender + '?ajax=true');
}
/**
* Lässt einen Ladebalken bei einem Ajax Request erscheinen
*/
$(document).ready(function () {
$(this).ajaxStart(function () {
$('body').append('<div id="AjaxLoader"></div>');
});
$(this).ajaxStop(function () {
$('#AjaxLoader').remove();
});
});
Soetwas hätte ich gerne für ein Formular. In etwa so:
HTML:
<form onsubmit="UseAjax(this)" method="post" action="foo.php" />
<input type="text" name="answer" value="42" />
</form>
In der foo.php möchte ich gerne folgendes auswerten können
PHP:
echo $_POST['answer'];
//Ausgabe: 42
Also im Grunde soll es so etwas ähnliches wie UpdatePanel von ASP.NET werden, Nur halt für PHP.
Ist dies irgendwie möglich? Ich möchte nicht jedes einzelne Element ansprechen wollen, da dies Architektonisch in meiner PHP-Anwendung aufgrund loser Kopplung nicht machbar wäre.
Vielen Dank für eure Antworten.
//Edit:
Wichtig wäre für mich auch ein Fallback, wenn Ajax/JS nicht unterstützt werden würde.
Zuletzt bearbeitet: