tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
892
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Html Html ist offline Mitglied Brokat
    Registriert seit
    Apr 2006
    Ort
    Montabaur
    Beiträge
    338
    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-Code:
    '<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-Code:
    <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-Code:
    <input type="checkbox" id="periodic" name="checkbox" value="1" onclick="if(this.checked) this.form.submit();">

    Ich hoffe jemand hat eine Idee
     

  2. #2
    Quaese Quaese ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Feb 2004
    Beiträge
    3.451
    Hi,

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

    Ciao
    Quaese
     
    Vielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
    ----
    Der "Fortsetzungsroman" auf www.leuteforum.de

    New kind to realize large scalable projects with jQuery: jQuery SDK

  3. #3
    Html Html ist offline Mitglied Brokat
    Registriert seit
    Apr 2006
    Ort
    Montabaur
    Beiträge
    338
    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 :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    
    ...
    #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.
     

  4. #4
    Html Html ist offline Mitglied Brokat
    Registriert seit
    Apr 2006
    Ort
    Montabaur
    Beiträge
    338
    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 :
    1
    
    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.
     

  5. #5
    Quaese Quaese ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Feb 2004
    Beiträge
    3.451
    Hi,

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

    Ciao
    Quaese
     
    Vielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
    ----
    Der "Fortsetzungsroman" auf www.leuteforum.de

    New kind to realize large scalable projects with jQuery: jQuery SDK

  6. #6
    Html Html ist offline Mitglied Brokat
    Registriert seit
    Apr 2006
    Ort
    Montabaur
    Beiträge
    338
    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-Code:
    onClick="self.location.href='URL' "
    Das funktioniert nicht. Das Formular wird hierbei abgesendet.

    Hat jemand eine Idee?
     

  7. #7
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Moin,

    erweitere die Anweisung ein wenig:
    Code :
    1
    
    onClick="self.location.href='URL' ;[B]return false;[/B]"

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

Ähnliche Themen

  1. Antworten: 5
    Letzter Beitrag: 02.12.09, 20:55
  2. Seite sperren wenn Javascript deaktiviert
    Von SXrunner im Forum Javascript & Ajax
    Antworten: 5
    Letzter Beitrag: 28.08.06, 12:56
  3. Abstand wenn formular geschlossen wird
    Von webpagemaster im Forum CSS
    Antworten: 3
    Letzter Beitrag: 24.06.06, 10:35
  4. Checkbox Status wir beim zweiten absenden gelöscht
    Von Zodiac84 im Forum Flash Plattform
    Antworten: 5
    Letzter Beitrag: 19.05.06, 17:16
  5. Antworten: 4
    Letzter Beitrag: 22.08.05, 12:47