| | | | |
| |||||||
| JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| Erfahrener Benutzer Registriert seit: 09.03.2009
Beiträge: 145
PHP-Kenntnisse: Fortgeschritten ![]() | Hallo liebe Gemeinde ![]() ich stoße grade auf ein IMHO komisches problem - vielleicht liegts auch nur daran das es gerade so spät ist, ... folgendes: Ich lade content per $.ajax(); - diese funktion ist in einer weiteren funktion definiert, damit ich mir einiges an tipparbeit spare.. auszug: Code: function ajaxRequest(url, responseContainer, data, type){
// show ajax loading indicator etc..
$.ajax({
type: 'post',
url: url,
data: data,
cache:true,
dataType: type,
success: function(html){
if(html){
if(responseContainer=='#bc-content'){
$(responseContainer).html('<ul id="column1" class="column ui-sortable">'+html+'</ul>');
// check if dom elements loaded
if($('#saveArticle').length){
$.getScript('/adata/js/action.write.js', function() {
if(typeof do_action_write == 'function'){
alert('test1')
do_action_write();
alert('test2');
}
});
}
}
}
}
// disable ajax loading indicator ...
});
}
Die ajaxRequest-Funktion wird innerhalb $(document).ready(); aufgerufen sobald ich auf den entsprechenden menüpunkt klicke, die action.write.js wird nachgeladen, sobald der container #saveArticle auch geladen wurde,... soweit alles ok, alert test1 wird ausgegeben, meine funktion wird aufgerufen, alert test2 wird ausgegeben.. alles prima beim ersten aufruf! ok, ich klicke also in einem menüpunkt herum, und lade weiteren content per ajax, klicke ich nun wieder auf den menüpunkt, der mir auch die action.write.js laden soll, wird NUR alert test1 ausgegeben..test2 nicht.. drücke ich f5, ist wieder alles in ordnung.. also wird meine funktion innerhalb der action.write.js nur beim ersten request der hauptseite ausgeführt.. firebug zeigt mir auch keine fehlermeldung wie z.b. das do_action_write(); undefined seie.. das komische daran ist, die getscript funktion lädt laut firebug erfolgreich den code, jedoch wird die funktion nur einmal aufgerufen.. liegt es vllt. daran, dass die action.write.js beim 2. aufruf doppelt geladen wird und die funktionen sich überschreiben? - aber das kann auch nicht sein, weil ich den code der js-datei vorher im <script>-Tag der zu ladenden html datei stehen hatte, jedoch ist mir die getScript-Variante sympatischer habe schon mehrere versuche gemacht, wie z.b. eine evalScript-Funktion, den code direkt per $.ajax & dataType: script laden usw.. hilft alles nichts, überall das selbe problem, dass meine funktion nur EINMAL ausgeführt wird, obwohl ich sie erst NACH dem ajaxRequest ausführen möchte... -.- hatte ebenfalls schon http://www.php.de/javascript-ajax-un...-werten-2.html (Ajax nachladen mit dazugehörigen Javascript Werten) gelesen, jedoch betrachte ich diese variante als schwachsinnig, denn async sollte schon true sein... danke schonmal Geändert von jGeee (26.03.2010 um 09:12 Uhr). |
| | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Erfahrener Benutzer Registriert seit: 09.03.2009
Beiträge: 145
PHP-Kenntnisse: Fortgeschritten ![]() | keinen, das ist mir jedoch erst aufgefallen als ich den post geschrieben habe :P hab ich schon geändert, jedoch ist es nicht die ursache des problems wie ich merke.. update: was mir ebenfalls auffällt ist, wenn ich folgenden versuch mache, dass das script ab der else-bedingung von typeof einfach beendet.. Code: // check if dom elements loaded
if($('#saveArticle').length){
if(typeof do_action_write != 'function'){
$.getScript('/adata/js/action.write.js', function() {
alert('test1');
do_action_write();
alert('test2');
});
}else{
alert('test3');
do_action_write();
alert('test4');
}
}
update2: habe grad mal mit dem IE8 versucht, dieser gibt folgende fehlermeldung (beim 2. aufruf natürlich erst) Meldung: Annahme ausgelöst und nicht aufgefangen. Zeile: 23 Zeichen: 1618 Code: 0 URI: /adata/ckeditor/ckeditor.js Es scheint am ckeditor zu liegen, ich probier alles mal ohne ihn zu initialisieren... update 3: tatsächlich.. die ursache liegt am ckeditor.. jetzt weiß ich wenigstens schonmal wo ich suchen soll.. andere bereits probleme damit gehabt? Geändert von jGeee (26.03.2010 um 08:36 Uhr). |
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Fileupload via AJAX | GSJLink | HTML, Usability und Barrierefreiheit | 13 | 17.05.2012 21:41 |
| jQuery Ajax und $(this) Problem | halskrause | JavaScript, Ajax und mehr | 8 | 01.03.2010 17:39 |
| Ajax Anwendung, reines Ajax oder Ajax und Html | jackie1983 | JavaScript, Ajax und mehr | 5 | 09.02.2010 16:50 |
| jQuery Ajax | BlackScorp | JavaScript, Ajax und mehr | 14 | 29.01.2010 13:37 |
| AJAX - Variable von PhP erhalten auf möglichst simple Weise? | SplitterWind | JavaScript, Ajax und mehr | 10 | 10.01.2010 04:34 |
| [Erledigt] jquery ajax, event bei nachgeladenem div auslösen | mad | JavaScript, Ajax und mehr | 9 | 20.08.2009 21:39 |
| jQuery mit AJAX ohne ActiceX im IE? | krush | JavaScript, Ajax und mehr | 2 | 11.08.2009 08:54 |
| Ajax + PHP + jquery Accordion zusammenführen. | gamerphil | JavaScript, Ajax und mehr | 0 | 30.04.2009 17:42 |
| [Erledigt] jQuery Dateien nachladen | Phoscur | JavaScript, Ajax und mehr | 7 | 14.03.2009 13:44 |
| [Erledigt] Jquery Ajax Rückgabewert weiterverwenden | heohni | JavaScript, Ajax und mehr | 5 | 26.02.2009 09:52 |
| jQuery Plugin - so richtig? | stayInside | JavaScript, Ajax und mehr | 5 | 23.02.2009 12:34 |
| 1111: AJAX meets PHP (indirectly) | Nikolaus 2.0 | Adventskalender 2008 | 5 | 15.12.2008 11:00 |
| Drag & Drop via JQuery & Ajax --> Geht nicht :( | Plague | JavaScript, Ajax und mehr | 2 | 23.10.2008 12:19 |
| Probleme mit Sonderzeichen bei Ajax (prototype)... | go1denboy | JavaScript, Ajax und mehr | 1 | 31.08.2008 18:44 |
| AJAX: Session-Inhalt an PHP | Curanai | HTML, Usability und Barrierefreiheit | 2 | 05.11.2007 15:45 |