Hi Leute,
ich habe ein Problem wo ich seit Tagen die nerven verloren habe und nicht weiter komme.
Uns war habe ich eine Webseite mit Benutzermodell entwickelt, wo Java Übungsaufgaben enthalten sind.
Der Benutzer kann diese Übungsaufgaben bearbeiten in dem er in das Leere Feld im Quellcode eingaben machen kann und mit der Kontrolle taste werden die Eingaben im System überprüft.
Also Praktisch werden die Eingaben zum Datenbank gesendet und von dort aus mit Java eine Fehleranalyse durchgeführt. Das Ergebnis der Analyse wird dann in einem Textdokument gespeichert und PHP kann die Fehlermeldung aus dem Textdokument auf der Webbrowser anzeigen.
Das alles funktioniert wunderbar.
Mein Problem:
Mein Problem liegt in JavaScript. Wenn der Benutzer auf Kontrolle klickt dann erscheint je nach Eingabe zb. eine Fehlermeldung. Also es wird ein Fenster geöffnet, praktisch ein Div Container, wo die Meldungen drin stehen. Also der Titel des Divs ist in rot gefärbt(mit JavaScript). In dem Div Container sind zwei weitere Div Container. Der eine zeigt die Java Kompilermeldung an und der andere die vom Java Analysierte Fehlermeldung (Also eine Hilfemeldung) an. Also wenn der Benutzer eine Falsche Eingabe macht, dann wird das Div Container mit der Kompilermeldung angezeigt und in diesem Div Container kann der Benutzer auf Hilfemeldung rüber wechseln und auch umgeckert.
Das JavaScript klappt beim ersten Aufruf wunderbar, aber sobald der Benutzer eine neue Eingabe macht und auf Kontrolle klickt, wird das Div Container zwar angezeigt, aber ohne die Funktionen des JavaScript,zb. der Titelbar wird nicht rot gefärbt, der Benutzer kann von Kompilermeldung auf Hilfemeldung nicht rüber wechseln etc. Es funktioniert nur wieder wenn ich die Webseite Aktualisiere....
Das komische ist, ich habe das ganze noch einmal in einem kleinen HTML Programm geschrieben, wo ich nur ein einfaches Button gemacht habe und die Funktionen des JavaScript da eingebunden habe, da klappt es wunderbar.
Ich vermute es hat was mit $_SESSION zu tun.....
Ich hoffe ihr könnt mir da weiterhelfen
Hier das JavaScript:
ich habe ein Problem wo ich seit Tagen die nerven verloren habe und nicht weiter komme.
Uns war habe ich eine Webseite mit Benutzermodell entwickelt, wo Java Übungsaufgaben enthalten sind.
Der Benutzer kann diese Übungsaufgaben bearbeiten in dem er in das Leere Feld im Quellcode eingaben machen kann und mit der Kontrolle taste werden die Eingaben im System überprüft.
Also Praktisch werden die Eingaben zum Datenbank gesendet und von dort aus mit Java eine Fehleranalyse durchgeführt. Das Ergebnis der Analyse wird dann in einem Textdokument gespeichert und PHP kann die Fehlermeldung aus dem Textdokument auf der Webbrowser anzeigen.
Das alles funktioniert wunderbar.
Mein Problem:
Mein Problem liegt in JavaScript. Wenn der Benutzer auf Kontrolle klickt dann erscheint je nach Eingabe zb. eine Fehlermeldung. Also es wird ein Fenster geöffnet, praktisch ein Div Container, wo die Meldungen drin stehen. Also der Titel des Divs ist in rot gefärbt(mit JavaScript). In dem Div Container sind zwei weitere Div Container. Der eine zeigt die Java Kompilermeldung an und der andere die vom Java Analysierte Fehlermeldung (Also eine Hilfemeldung) an. Also wenn der Benutzer eine Falsche Eingabe macht, dann wird das Div Container mit der Kompilermeldung angezeigt und in diesem Div Container kann der Benutzer auf Hilfemeldung rüber wechseln und auch umgeckert.
Das JavaScript klappt beim ersten Aufruf wunderbar, aber sobald der Benutzer eine neue Eingabe macht und auf Kontrolle klickt, wird das Div Container zwar angezeigt, aber ohne die Funktionen des JavaScript,zb. der Titelbar wird nicht rot gefärbt, der Benutzer kann von Kompilermeldung auf Hilfemeldung nicht rüber wechseln etc. Es funktioniert nur wieder wenn ich die Webseite Aktualisiere....
Das komische ist, ich habe das ganze noch einmal in einem kleinen HTML Programm geschrieben, wo ich nur ein einfaches Button gemacht habe und die Funktionen des JavaScript da eingebunden habe, da klappt es wunderbar.
Ich vermute es hat was mit $_SESSION zu tun.....
Ich hoffe ihr könnt mir da weiterhelfen
Hier das JavaScript:
HTML:
<script type="text/javascript">
$(function(){
var ergebnis = "<?php echo $loesung?>";
var Summe_Fehler = "<?php $_SESSION['counter']?>"
if(ergebnis == 2 && Summe_Fehler < 10){
$("#Meldung").dialog({
width: 820,
height: 580,
buttons: {
Close: function(){
$(this).dialog('close');
}
}
});
jQuery("#Meldung").prev('.ui-dialog-titlebar').css({
'background': 'red',
'font-size' : '20px'
});
jQuery("#Meldung").prev(".ui-dialog-titlebar").append("<img src='Image/Benutzerseite/Ausrufezeichen.png' width = 40 height = 40 id='ausrufezeichen' />");
$("#ausrufezeichen").css({
'position': 'absolute',
'margin-left' : '-420px',
'margin-top' : '-6px'
});
}
});
$(function(){
var Summe_Fehler = "<?php echo $_SESSION['counter']?>";
if(Summe_Fehler == 10){
$("#Aufgabe_Nicht_Geloest").dialog({
width: 800,
buttons:{
Close: function(){
$(this).dialog('close');
}
}
});
jQuery("#Aufgabe_Nicht_Geloest").prev('.ui-dialog-titlebar').css({
'background': 'orange',
'font-size' : '20px'
});
jQuery("#Aufgabe_Nicht_Geloest").prev(".ui-dialog-titlebar").append("<img src='Image/Benutzerseite/Ausrufezeichen.png' width = 40 height = 40 id='ausrufezeichen' />");
$("#ausrufezeichen").css({
'position': 'absolute',
'margin-left' : '-190px',
'margin-top' : '-6px'
});
}
});
$(function(){
var richtig = "<?php echo $loesung?>";
var Summe_Fehler = "<?php echo $_SESSION['counter']?>"
if(richtig == 1 && Summe_Fehler < 10){
$("#AufgabeRichtig").dialog({
width: 800,
buttons:{
Close: function(){
$(this).dialog('close');
}
}
});
jQuery("#AufgabeRichtig").prev('.ui-dialog-titlebar').css({
'background': '#00ff00',
'font-size' : '20px',
'color' : 'black',
'border-color' : 'green'
});
}
jQuery("#AufgabeRichtig").prev(".ui-dialog-titlebar").append("<img src='Image/Benutzerseite/grunen-hakchen.png' width = 40 height = 40 id='gruenHaken' />");
$("#gruenHaken").css({
'position' : 'absolute',
'margin-left' : '-110px',
'margin-top' : '-6px'
});
});
function show(id) {
if(document.getElementById) {
if(id == 'Kompilermeldung'){
document.getElementById('Hilfemeldung').style.display = 'block';
document.getElementById('Kompilermeldung').style.display = 'none';
}
if(id == 'Hilfemeldung'){
document.getElementById('Hilfemeldung').style.display = 'none';
document.getElementById('Kompilermeldung').style.display = 'block';
}
}
}
</script>
Zuletzt bearbeitet von einem Moderator: