Formular absenden wenn checkbox wieder deaktiviert wird

Html

Erfahrenes Mitglied
Hallo. Ich habe folgendes Problem. Ich habe ein Formular mit einer checkbox. Das Formular soll zum einen über den Submit-Button abgesendet werden, was kein Problem ist und .... jetzt kommt die Schwierigkeit, wenn die checkbox nach einem aktivieren wieder deaktiviert wird.
Der Hintergrund ist folgender: beim normalen Absenden des Formulars wird die Seite einfach neu geladen, ist die checkbox aktiviert worden und das Formular wird abgesendet wird

HTML:
'<meta http-equiv="refresh" content="3; URL=RFID.sh?periodic=1&submit=1">'

eingefügt und die Seite automatisch immer nach 3s refresht, gleichzeitg wird das checked-Attribut der Checkbox aktiviert.
So, nun soll aber nur durch Deaktivieren der Checkbox das Formular erneut abgesendet werden, was ein Abschalten der des Refreshen zur Folge hat.

Hier mal das Formular:

HTML:
<form method="GET" action="test.html" >
<input type="checkbox" id="periodic" name="checkbox" value="1" ><label for="periodic">zyklisch (3s)</label><br>
<input type="submit" value="LESEN" >


Gefunden habe ich dieses was allerdings das Formular beim "anhaken" der checkbox absendet:

HTML:
<input type="checkbox" id="periodic" name="checkbox" value="1" onclick="if(this.checked) this.form.submit();">


Ich hoffe jemand hat eine Idee
 
Hi,

prüfe, ob die Checkbox nicht gesetzt wurde:
Code:
<input type="checkbox" id="periodic" name="checkbox" value="1" onclick="if(!this.checked) this.form.submit();">

Ciao
Quaese
 
Danke für die Antwort aber leider funktioniert es nicht. Keine Reaktion beim Deaktivieren.
Ich poste nochmal die entsprechenden Auszüge aus dem Quellcode( das ganze ist ein Bash-Cgi Skript aber das sollte ja kein Problem darstellen)


Code:
...
#Auswahl ob refresh gesetzt ist
if [ "$periodic" = "1" ] 
then
meta_refresh='<meta http-equiv="refresh" content="3; URL=RFID.sh?periodic=1&submit=1">'
flag="checked='checked'"
fi
...

echo '<html>'
echo '<head>'
echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">'
echo $meta_refresh

...

echo '<form name="input" action="RFID.sh" method="GET">'
echo '<input type="checkbox" name="periodic" id="periodic" value="1" '$flag' onclick="if(!this.checked) this.form.submit();"><label for="periodic">zyklisch (3s)</label><br>'
echo '<input type="hidden" name="submit" value="1">'
echo '<input type="submit" value="LESEN">'
echo '</form>'

Das ganze funktioniert im mom nur so, das zum deaktivieren des Refresh-Meta-Tags die Checkbox wieder deaktiviert werden muss und zusätztlich der Submit-Button gedrückt werden muss um das Formular erneut abzusenden.
 
Ok.Mein Fehler. Das hidden-Feld hat den Namen "submit". Geändert. Jetzt funktioniert es!
Danke

##EDIT##

Nun die o.g Methode funktioniert zwar, allerdings werden beim Absenden des Formular durch Deaktivieren der Checkbox völlig verständlichweise erneut GET-Parameter übergeben. Diese werden aber nach dieser Aktion nicht mehr benötigt. Daher dachte ich mir nun, ich lade die Seite mittels

Code:
echo '<input type="checkbox" name="periodic" id="periodic" value="true" '$flag' onClick=" if(!this.checked) window.location.href = 'RFID.sh';"><br>'

neu und "säubere" somit die URL.

Nun das ganze funktioniert aber nicht. Die Seite wird nicht aufgerufen.
 
Hi,

kann ich hier nicht nachvollziehen. Bei mir wird mit deiner Anweisung die Seite neu geladen.

Ciao
Quaese
 
onclick Submit-Button KEIN Submit gewünscht

Guten Tag. Ich habe ein Formular bestehend aus einer Checkbox, Hiddenfeldern und einem Submitbutton. Die Daten werden mittels GET übergeben. Wird die checkbox aktiviert, wird ein meta-refresh auf der Seite generiert so das sich die Seite ständig aktualisiert. Das nur am Rande.

Ich möchte nun das wenn ich das Formular mit aktivierter Checkbox abgesendet habe, sich der Text des Submitbutton ändert.
Dies habe ich bereits erfolgreich gelöst.
Jetzt mein Problem: zusätzlich möchte ich dann auch, das ich durch den Submit-Button eine URL aufrufen kann OHNE das das Formular wieder abgesendet wird.
Zweck des ganzen ist es das ich damit die gleiche Seite aufrufen würde, allerdings OHNE GET-Parameter in der URL und somit die ganze Aktion wieder stoppen könnte.

HTML:
onClick="self.location.href='URL' "
Das funktioniert nicht. Das Formular wird hierbei abgesendet.

Hat jemand eine Idee?
 
Moin,

erweitere die Anweisung ein wenig:
Code:
onClick="self.location.href='URL' ;return false;"

das "return false" unterbindet das Ausführen der Standardaktion beim click-Event des Buttons(das Senden des Formulares)
 

Neue Beiträge

Zurück