Formular aktualisieren ohne reload

Mit dieser Funktion:

Code:
function pruefen() {
   if(!file_exists($_POST["name"].'.pdf')) {
         echo 'javascript:self();';
   } else {
         echo 'javascript:send();';
   }
}
 
Also du hast ein Problem, dass der Client was aus dem Cache geliefert bekommt?

Das ist eigentlich kein Problem :)
Wie man das umgeht, siehst du in einem meiner vorrangegangenen Postings....hänge einen Timestamp an die URL(des PDFs oder des PHP-Skriptes, welches das Vorhandensein prüft)...heran, und du bekommst immer die allerfrischeste Ware :-)

Code:
'irgendeine.url?'+new Date().getTime()
 
Sorry Leute,
ich habe schon den Timestamp an jeden Link angehängt es wil einfach nicht klappen.
Ich bekomme immer wieder den Alert zu sehen.

Code:
<script type="text/javascript">
function send() {
	document.form.action = "send.php?"+new Date().getTime();
	document.form.target = "_self";
}
function self() {
	document.form.action = "formular.php?"+new Date().getTime();
	document.form.target = "_self";
	alert("Bitte vorerst das PDF erstellen!");
}
function pdf() {
	document.form.action = "pdf.php?"+new Date().getTime();
	document.form.target = "_blank";
}
</script>
 
Ich glaube irgendwie, du musst da mal mehr Code Zeigen.

Wenn PHP sagt, das PDF ist nicht da, dann ist es nicht da!
Wo wird das PDF erstellt?
 
Ich glaube, mir dämmert's langsam...

PHP:
function pruefen() {
   if(!file_exists($_POST["name"].'.pdf')) {
         echo 'javascript:self();';
   } else {
         echo 'javascript:send();';
   }
}

Wo auch immer Du diese beiden JS-Funktionsaufrufe rein-echoest, sorge dafür, dass nach Erstellen und Anzeige des PDF's dies wieder geändert wird, indem Du z.B. vom Fenster, das das PDF darstellt, den Button, oder was auch immer, im Hauptfenster manipulierst.

LG
 
Guten Morgen,

Das PDF ist difinitiv da, ich muß ihn jedes mal nach dem missgelungenen Tests vom Server löschen. An dem ligt es nicht.
Und vor allem, nach dem PDF Erstellung und wiederholtem Alert, wenn man trotzt dem Alertanweisung noch ein mal auf senden geht, wird es versandt, wiel das Cache neue Daten bekommen hat.
Hier ist noch das Formular:
Code:
<form name="form" action="" method="post" target="">
    <input ... />
    <input ... />
    <input ... />
    <input name="PDF" type="submit" value="PDF erstellen" onclick="<? pdferstellen(); ?>" />
    <input name="submit" type="submit" value="senden" onclick="<? pruefen(); ?>" />
</form>
Das ist eigentlich alles, PHP und JS sind schon da.
Das PDF wird einfach vom Server downgeloadet und im neuem Fenster mit Adobe Reader angeteigt.
 
Hi,

Dein Problem hat nichts mit dem Cache zu tun. Wenn Du auf PDF erstellen klickst, wird das Formular ja gar nicht abgeschickt. Entweder Du verlässt Dich drauf, dass das PDF erstellen geklappt hat und änderst das onclick vom Senden-Button per Javascript (was natürlich nicht so gut ist) oder Du prüfst die Existenz onsubmit per Ajax.

LG
 
Zurück