wenn <form> nicht innerhalb <table> ist wird das formular bei mir angezeigt
wenn <form> nicht innerhalb <table> ist wird das formular bei mir angezeigt
Umlaute müssen in Unicode geschrieben werden, da Ajax i.d.R. nur für UTF8 gedacht ist.
Als kleinen jQuery-Denkansatz:
Code:// Formulare innerhalb vom DIV-Container // mit der ID "content" auf jQuery umleiten $("#content form").submit(function(){ var url = "ajax.php?"+$(this).attr("action"); var method = $(this).attr("method"); var method = method.toLowerCase(); var showPage = function (data) { $('#content').html(data); $('#content').fadeIn('normal'); } var params = {}; for(var i=0; i<this.elements.length; i++) { e = this.elements[i]; params[e.name]=e.value; } if (methos == "post") { $.post(url, params, showPage); } else { $.get(url, params, showPage); } return false; }); // Alle Links innerhalb von dem DIV-Container umleiten $(document).ready(function() { $("#content").click(functions(){ $("a").each(function () { $.get("ajax.php?"+$(this).attr(href), "", function(data){ $('#content').html(data); $('#content').fadeIn('normal'); }); }); }); });
Hi jpwfour
ich mal wieder, ist es auch möglich den slideup,slidedown effekt mit solch ein loader zu ersetzten?
http://www.speldhurstcc.org.uk/images/ajax-loader.gif
Vermutlich ja aber ich bin noch auf keine lösung gekommen, ein denkansatz wäre schön.
Noch ein Problem, links innerhalb des Content gehen leider nicht so, auch nicht wenn ich class="noaj" verwende. Geht doch wenn man <div class="ajaxm"> auch in head(),foot() einbaut aberleider nicht innerhalb von tabellen wie es aussieht.
Achso eine lösung wäre noch gut das die form tags innerhalb einer tabelle auch funktionieren.,die gehen nämlich bei mir auch nicht
edit: der "Bedanken" Button fehlt hier ?!
Macht Sinn, "wenn's mal wieder länger dauert"
Hab das mal nachgerüstet bei der Demo:
http://jpwfour.kilu.de/index.php?ajax=1
Vorallem auf der Refrallye (link links unten) sieht mans, die dauert lang (5 Sekunden )
Sieht jetzt nicht sonderlich toll aus, aber sowas kann ich halt auch nicht
Im Prinzip hab ich nur in der footer.php den Loader reingesetzt unter den Inhalt:
Un dann im Skript dafür gesorgt, dass dieses DIV eingeblendet wird, sobald das anderen "hochgeslidet" ist, und wieder ausgeblendet, sobald der neue Inhalt da ist:HTML-Code:</div> <!-- #ajaxc, header.php --> <div id="ajwait" style="display:none;background-image:url(http://www.speldhurstcc.org.uk/images/ajax-loader.gif); height:175px;width:200px;"> </div>
Das Sliden wär evtl auch schöner, mit ein/ausblenden, da gibts ja in jQuery viele Möglichkeiten:Code:$(".ajaxm a[class!=noaj]").css("border", "2px dotted blue"); $(".ajaxm a[class!=noaj]").click(function (event) { turl = $(this).attr("href"); treffer = turl.match(/content=[\/a-z0-9]+/i); $("#ajaxc").slideUp('fast', function() { $("#ajwait").show(); // neu $('#ajaxc').load('ajax.php',""+treffer, function() { $("#ajwait").hide(); // neu $("#ajaxc").slideDown(); $("#ajaxc form").each( function(index, elem) { if($(elem).attr("action") == ""){ $(elem).attr("action", "index.php?"+treffer); } }); }); }); event.preventDefault(); });
http://api.jquery.com/category/effects/
EDIT: evtl gehen die bedanken buttons nicht, da die beiträge vor dem einbau der bedanken funktion erstellt wurden, k.a.
Kill one man, and you are a murderer.
Kill millions of men, and you are a conqueror.
Kill them all, and you are a god. - Jean Rostand, Thoughts of a Biologist (1939)