Formular aktualisieren ohne reload

Ja, ich hab's mit return ausprobiert.

"PDF erstellen" war von anfang an ein Button, zum erstellen und anzeigen vom PDF's im neuen Fenster.
 
Hi,

also kein Alert, sprich: die Prüfung war erfolgreich. Jetzt musst Du in diesem Fall das Formular nur noch mit document.form.submit() absenden. Bis jetzt biegst Du ja nur die action und das target um...

LG
 
Eben nicht, Alert wird immer wieder angezeigt, ob das PDF gar nicht exestiere.
Obwohl er auf dem Server vorhanden ist.
 
Zuletzt bearbeitet:
Sorry!
Hier ist di aktuelle Code:
HTML:
<script type="text/javascript">
function pdf() {
	document.form.action = "pdf.php";
	document.form.target = "_blank";
}

try {
req = new XMLHttpRequest();
} catch (e) {
	try {
		req = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e){
		try {
			req = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (failed){
			req = null;
		}
	}
}
function checkInput() {
req.open("GET", 'check.php?name=' + document.form.name.value, true);
req.onreadystatechange = function() {
	switch(req.readyState) {
		case 4:
			if(req.status!=200) {
				alert("Fehler:"+req.status);
			} else {
			if(req.responseText == "1") {
				document.form.action = "send.php";
				document.form.target = "_self";
			} else {
				alert("Bitte vorerst das PDF erstellen! ");
			}
		}
		break;
		default:
			return false;
		break;
	}
};
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.send(null);
return false; // wichtig, damit das Formular nicht abgesendet wird
}
</script>
<form name="form" action="" method="post" target="">
    <input ... />
    <input ... />
    <input ... />
    <input name="PDF" type="submit" value="PDF erstellen" onclick="javascript:pdf();" />
    <input name="submit" type="submit" value="senden" onclick="return checkInput();" />
</form>

check.php
PHP:
<?php 
	if(file_exists($_GET["name"].'.pdf')) {
		echo "1";
	} else {
		echo "0";
	}
?>
 
Ok,

dann ändere Deine check.php mal so um:

PHP:
<?php 
    if(file_exists($_GET["name"].'.pdf')) {
        echo "1";
    } else {
        echo realpath($_GET["name"].'.pdf');
    }
?>

Und den alert mach mal so:

Javascript:
alert("Datei " + req.responseText + " existiert nicht!");

Stimmt der Pfad, der da ausgegeben wird?

LG
 
Zuletzt bearbeitet von einem Moderator:
Zurück