Mit Javascript prüfen ob Datei erstellt wurde

Was macht denn der Code genau?

Meine Idee war das ich einen DIV-Container im HTML-Formular erstellte mit dem entsprechenden Text wie z.B. "Grafik wird bearbeitet!" und den DIV-Container auf "hide" stelle. An der richtigten Stelle im PHP-Code sollte dieser DIV-Container "aktiviert" und wieder "deaktiviert" werden.

Nicht möglich?
 
Es ist bestimmt möglich, nur müsste ich verstehen, was du dir gerade dabei gedacht hast, denn ich verstehe es mit deiner momentanen Beschreibung nicht.
 
Also das Skript besteht aus zwei wichtigen Teilen.

1.) Das HTML-Formular
2.) Das PHP-Skript

Das PHP-Skript wird in das HTML-Formular eingefügt (include)

Als erstes füge im Script-Bereich (im HTML-Formular) folgendes ein:
Javascript:
<script language="JavaScript" type="text/javascript">
function show_elements() {
   var elementNames = show_elements.arguments;
   for (var i=0; i<elementNames.length; i++) {
        var elementName = elementNames[i];
        document.getElementById(elementName).style.display='block';
   }
}
function hide_elements() {
   var elementNames = hide_elements.arguments;
   for (var i=0; i<elementNames.length; i++) {
        var elementName = elementNames[i];
        document.getElementById(elementName).style.display='none';
   }
}
</script>

Dann erstelle ich im HTML-Formular folgenden Code (über dem eigentlichen Formular):
HTML:
<div id="wait" style="display:none;">
   <div id="container1">
      Die angeforderte Grafik ist in bearbeitung. Bitte warten.
   </div>
</div>

Um diesen Container nun einzublenden, müsste man ja auf einen Link wie diesen hier klicken:
HTML:
<!-- Einblenden -->
<a href="#" title="" onclick="show_elements('wait');">Einblenden</a>

<!-- Ausblenden -->
<a href="#" title="" onclick="hide_elements('wait');">Ausblenden</a>

Ich versuche nun den DIV-Container OHNE SO EINEN Link zu aktivieren in PHP. Sobald die Grafik fertig ist, könnte ich ja dann den Befehl erteilen den Container wieder zu deaktivieren.

Edit:

Mit persönlich fällt sonst nichts ein wie ich das sonst machen könnte ohne JS zu studieren.
 
Zuletzt bearbeitet:
Code:
var interval = window.setInterval(function ()
{
  $.post('file-exists.php', { filename: filename }, function (data)
  {
    if(data == 1)
    {
      $('#wait').css('display', 'none');
      window.clearInterval(interval);
    }
  });
}, 1000);
$('#form-avatar-generator').submit(function (e)
{
  e.preventDefault();
  $('#wait').css('display', 'block');
  $.post('generator.php', $(this).serialize());
  return false;
});
HTML:
<div id="wait" style="display:none;">
   <div id="container1">
      Die angeforderte Grafik ist in bearbeitung. Bitte warten.
   </div>
</div>
<form id="form-avatar-generator" method="post" action="">
  <!-- hier sind deine Eingabefelder -->
</form>
 
Zuletzt bearbeitet:
Ach ok.

Und wie ich mir das gedacht habe, ist es nicht möglich? Also einfach in einer bestimmten Zeile mit "echo" oder so den onclick="show_elements('wait');" auslösen.
 
Ne, schau dir dazu mal den Unterschied zwischen serverseitigen und clientseitigen Programmiersprachen an. Erstere werden auf dem Server ausgeführt und schicken dem Client dann die generierten Daten. Danach hat der Server aber keinen Einfluss mehr auf diese Daten. Die clientseitigen Sprachen können mit diesen Daten arbeiten und sie dann hier manipulieren. Da sie clientseitig ausgeführt werden, können sie auch dementsprechend auf Nutzerinteraktionen reagieren.
 
Würde es denn nicht ohne "file-exists.php" gehen?

Edit:

Für den User soll das ganze Skript so undurchsichtig wie möglich sein.
 
Zuletzt bearbeitet:
Zurück