eine "1" bekommen wenn die Seite aufgerufen wird

das habe ich schon versucht,
der Haken ist zwar gesetzt aber die damit verbundene berechnung wird damit nicht ausgelöst, erst nachdem ich den Haken entfernt und wieder gesetzt habe, wird die Berechnung gemacht.
das ist auch der Grund weshalb ich für den Einsprung der Seite eine 1 oder true will um die Berechnung zu starten
 
Dann mach doch folgendes:
HTML:
<body onload="chcbCheckbox(document.getElementById('cb1'))">
Dies ist nicht die sauberste Lösung, evtl. solltest du das Aktivieren der Checkbox und das Auslösen beim Laden irgendwo in eine Fkt. packen ;)
 
Das hier funktioniert, du musst nur bei onload den zweiten Parameter von 1 auf 0 ändern (oder umgekehrt) und du siehst es.

Javascript:
<script language="javascript">
function SetCheckBox(cb1, wert) {
if(wert == 1) {
    document.getElementById(cb1).checked = true;
    document.getElementById(cb1).className = "checkbox_checked";

    chcbCheckbox(cb1);
} else {
    document.getElementById(cb1).checked = false;
    document.getElementById(cb1).className = "checkbox";
}

}

function chcbCheckbox(id) {
	alert(document.getElementById(id).value * 5);
}

</script>
HTML:
<body onload="SetCheckBox('cb1', 1)">
<form name="Formular"  action="Eingabe.php" method="post" onsubmit="return chkFormular()">
	<input name="cb1" type="checkbox" class="check"  id="cb1" onclick="chcbCheckbox(this.id)"  value="3.50" />
</form>
</body>
 
Hallo Thomas,
das funktioniert, dass der Haken gesetzt ist aber die Berechnung wird nicht ausgeführt,
man könnte es aber vielleicht einfacher gestallten,
Du hast mir gezeigt, wie man die Fehlermeldungen in javascript erstellt,

so funktioniert es auch
Code:
<script type="text/javascript">
	function chkFormular () {
	error = 0;
	
if	 (document.Formular.land.value == "")
	 {
	  alert("Bitte Land eingeben!");
      document.Formular.land.focus();
      error = 1;
	 }
  
if   (document.Formular.vorname.value == "") 
	{
     alert("Bitte Ihren Vornamen eingeben!");
     document.Formular.vorname.focus();
     error = 1;
     }
	
if   (document.Formular.familienname.value == "") 
    {
      alert("Bitte Ihren Familiennamen eingeben!");
      document.Formular.familienname.focus();
      error = 1;
    }




if (error == 1) {
    return false;
	}

</script>


wenn man jetzt die Abfrage der checkbox cb1 mit einbinden könnte, dann wäre alles gut, denn wenn der Haken nicht gesetzt ist, kann das Formular nicht abgeschickt werden und wenn der Haken dann gesetzt wird, wird ja auch berechnet
Gruß
Rainer
 
Wenn obiger Code mit dem Wert 1 als zweiten Parameter aufgerufen wird, dann wird auch gerechnet. Hat der Parameter einen anderen Wert (0, 2, 3, ...) dann passiert nichts.

Ansonsten:

Javascript:
if (document.getElementbyId("cb1").checked == false) {
    alert("Erst ankreuzen!");
    error = 1;
}
 
so hatte ich die Abfrage auch schon mal gemacht aber so geht es nicht, denn ich glaube dass wenn die seite aufgerufen wird, weder true noch false in den Element cb1 steht, es kommen alle Fehlermeldungen bis zu dem Punkt wo die cb1 abgefragt werden soll. Ab da wird das formular abgeschickt ohne die folgenden Formularfelder abzufragen. D.h. irgend etwas stimmt nicht mit der Abfrage der cb1
 
In dem Element steht zu keiner Zeit true oder false, damit wird nur geprüft ob das Häckchen gesetzt ist (true) oder nicht (false).

Wo/wie wird dein Code für die Checkbox aufgerufen?
 
hier wird die Berechnung gemacht

Code:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var gesamt = 0;
$(".check").click(function () {
    if (this.checked == true) {
        gesamt = gesamt + parseFloat(this.value);
    } else {
        gesamt = gesamt - parseFloat(this.value);
    }
var ergebnis = gesamt ; 	
    $("#anzeigen").text(ergebnis.toFixed(2)+ " €" );
	
var mwst = (ergebnis / 100) *1.19;	
	 $("#mwst").text(mwst.toFixed(2)+ " €" );

var gesamtkosten = ergebnis + parseFloat(mwst);
     $("#gesamtkosten").text(gesamtkosten.toFixed(2)+ " €" );

var jahr = gesamtkosten *12 ;
     $("#jahr").text(jahr.toFixed(2)+ " €" );
 
 
 
});
 
});


</script>

ach und bei der Gelegenheit,
die Berechnung erfolgt ja momentan in den Tabellenspalten mit Id="anzeigen" aber diese kann ich nicht in die Datenbank übertragen,
hab mal versucht einen namen einzutagen aber das funktioniert nicht und wenn ich ein Formularfeld mit der Id="anzeigen" mache funktioniert die Berechnung nicht.

Aber das sind momentan meine letzten 2 Probleme
 
Der Wert von "CB1" ist was, der Grundpreis der immer ausgewählt sein muss? Dann muss er doch in der Form gar nicht geprüft werden, da er automatisch immer dazukommt.

Wie umfangreich ist den die komplette Seite? Kannst du sie hier zur Not als ZIP einstellen?
 

Neue Beiträge

Zurück