Ajax nur ausführen, wenn Checkbox verändert wurde?

  • Wie kann ich prüfen, ob der vorherige Checkbox Status mit dem wirklich akutellen gewählten Status nicht übereinstimmt und erst dann die Form absenden? Dabei handelt es sich aber auch um den Stauts eines Kommentars, als osind dort mehre Checkboxen mit dem gleichen Namen. Dadurch will ich ja verhindern, das die Form abgesendet wird, obwohl der Status in der Checkbox sich nicht geändert hat. Wie geht das?


    Ich habe es mit defaultChecked probiert aber so funktioniert das derzeit nicht.

  • Ja, die Checkbox ist je nachdem, ob es in der DB als aktiviert steht checked oder ebend nicht. Wenn ich bei codepen dann übrigens auf den button klicke, dann steht bei mir aber gar nichts in der Konsole und auch nicht auf der Seite. Scheint auch irgendwie nicht zu funktionieren? Normal sollte es dann doch in der Konsole stehen, wenn der Status geändert wurde?


    Ich verstehe deinen Weg sonst wohl aber wie sieht es denn mit den einzelnen Teilen des Scripts aus?
    Ruft den das Attribut checked den Status aus, der sozusagen war, als man die Seite geladen hat und is den wirklich aktuellen Status, also wenn ich von checked auf nicht checked wechseln würde, dann wäre das attrb checked true und das is checked false. Wäre das so vom Veständis her richtig?

  • .attr liest das html aus,
    .is liest den status im DOM aus um das vereinfacht zu sagen, also den status wie er beim user zu sehen ist.


    Wenn die Stati also gleich sind, wurde nichts verändert, wenn nicht, schon..
    Bei mir in der Firebug Console wird alles angezeigt.. spätestens wenn du es bei dir in deinen eigenen code integrierst funktiniert es :)

  • Ja, also lag ich ja richtig. ich habe jetzt bloß nicht die Begriffe HTML und DOM erwähnt aber trotzdem lag ich ja richtig.
    Jetzt funktioniert es auch übrigens! Danke für die Hilfe und das nette Beispiel. :thumbup:

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!