PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Funktion abbrechen


juergen
08.01.2007, 20:03:30
Hallo Forum,

ich habe ein Formular mit dem sich jeder User ein PDF-Prospekt zusammen stellen kann. Die einzelnen Teile des Prospektes kann er durch Chekboxen auswählen. In einer JS Funktion zähle ich die warscheinliche Dateigröße und gebe diese in einem Input-Feld aus. Nun kann es sein das die Datei die jetzt erzeugt werden soll einfach zu groß wird. PHP kann das unter umständen nicht verarbeiten. Ich habe nun schon das JS so erweitert das es eine Alertbox ausgibt wenn die Datei zu groß werden wird (>300 KB).

Das ist ja nur ein Hinweiß und keine echte Sicherheit. Ich möchte am besten verhindern das der User eine weitere Checkbox anklicken kann. Z.B. Wenn der Grenzwert überschritten wird sollen alle anderen Checkboxen ausgegraut werden. Unterschreitet er den Wert wieder in dem er einen Haken entfernt sollen die ausgegrauten wieder anklickbar werden.
Ich danke Euch schon jetzt für Eure Hilfe.

function addIt(){

var std = 16.17;
var summe = 92.00;

for(i=0; i < document.pdferzeugen.elements.length; i++){

if(document.pdferzeugen.elements[i].type == 'checkbox' && document.pdferzeugen.elements[i].checked != ''){
summe = summe + Number(std);
}
}
document.pdferzeugen.result.value = summe;

// Bei ca. 300 KB kommt die Alertbox
if (summe > 300) {
alert("Die Datei wird zu groß.");

}
}

KTB
09.01.2007, 09:29:53
Ersetze einfach das alert durch eine weitere Funktion in der du alle Checkboxen deaktivierst (disabled).

Domi
09.01.2007, 11:04:15
Dann du hast du einen Schutz für einen DAU. Jeder der sich nur minimal auskennt um ne Extension für Firefox zu installieren, klickt dir deine Checkboxen weiter an... Manchmal reicht es sogar aus nur JavaScript zu deaktivieren. Auch wenn das am Anfang geprüft wird, kann ich immernoch während des Formulars JS deaktivieren.

An deiner Stelle würde ich bei PHP bleiben und so ne art Wizard machen. Wie bei nem Install: Möchten sie das und das? Dann weiter mit Check auf Dateigröße, dann wieder ne Frage, möchten sie noch das und das? Naja, is auch nicht so das wahre, aber warum nicht einfach während des Abschickens nochmal mit PHP die wahrscheinliche Dateigröße ausrechnen?

GreeTz
Domi