Click in Zelle führt Funktion aus

  • Hallo zusammen,


    Habe nochmals eine Frage zum Thema "Click in Zelle".


    Vorheriger Stand

    Mit einem "integrierten" Button in einer Zelle einer Tabelle habe ich das Thema bisher so gelöst.

    Code
    <td id=format_cellTemp>
        <form>
            <input id=btnSendAUS1 type=button name=edit value=off style=background-color:rgb(0,45,85);border-color:rgb(0,45,85);height:50px;width:100px;color:rgb(255,255,255);font-size:20px;font-weight:bold;float:right> <input id=btnSendEIN1 type=button name=edit value=on style=background-color:rgb(0,45,85);border-color:rgb(0,45,85);height:50px;width:100px;color:rgb(255,255,255);font-size:20px;font-weight:bold;float:right>
        </form>
    </td>

    Funktion


    ###################################################################################################################

    Neuer Stand
    Der neue Stand ist die Nutzung eines Grids. Hier ist die Idee nicht mehr Buttons zu nutzen, sondern die Zelle an sich.

    Code
            ....
            <div class="grid-item_relais" onclick="relais123_clicked(this, true);">on</div>
        </div>
    </body>

    Funktion

    Diese Funktion soll eine Funktion in Python aufrufen - was beim alten Stand auch gut funktioniert hat.

    Jedoch bekomme ich das mit dem Click in die Zelle (ohne Button) keinen Aufruf in dem Python Programm.

    Ist sicher eine Kleinigkeit, aber ich sehe das aktuell nicht.


    Grüße

    Stefan

  • Du machst da etwas doppelt: Inline registrierst Du die Funktion relais123_clicked für Click, darin wieder einen Eventlistener für document-ready und dann wiederum über die ID "btnSendAUS2" für Click. Gib der Zelle diese ID, dann kannst Du das jQuery so beibehalten:

    Code
    <div id="btnSendAUS2" class="grid-item_relais">on</div>

    (Das language="javascript" brauchst Du heute nicht mehr).

  • wow, das ist ja noch einfacher ... Danke

    kann ich eigentlich (nice to have) nach dem Klick in die Zelle:

    1.) den Inhalt der Zelle auf "off" setzen

    2.) beim klick dann auf "off" eine andere Funktion aufrufen um das Relais wieder auszuschalten?!

    Vermutlich ähnliches Thema wie Umschaltung von km/h auf kn, aber doch ganz anders.

    Oder ist sowas dann zu viel in HTML

    Bin echt erstaunt was alles geht ...

  • Das ist eine Anforderung, die es häufig gibt und auch kein Problem: Über eine Klasse merken wir uns den Zustand des Relais und setzen abhängig davon den Text und die URL:

  • Sempervivum: Hammer, das ist was ich gesucht habe!!
    => Vielen Dank


    Abschließend (zu diesem Thema):

    In meiner vorherigen Version habe ich den Button für "shutdown" & "reboot" vorher abgefragt.

    Das hat in der Funktion (so wie ich das verstehe) stattgefunden.


    Button

    Code
    <form action="/shutdown">
                            <input type=submit onclick="return shutdown_clicked()" name=edit value=shutdown style=background-color:rgb(193,0,0);border-color:rgb(193,0,0);height:50px;width:200px;color:rgb(255,255,255);font-size:20px;font-weight:bold;float:right>
                        </form>
    Code
    function shutdown_clicked(){
        return confirm('Would you like to shutdown?');
        }

    Der Aufruf war jedoch generell ein anderer ...


    Meine Versuche ich Abfrage "ja/nein" einzubauen sind gescheitert.

    Die Zeile mit dem "return" passt nicht ganz so wie ich das sehe.


    Grüße

    Stefan

  • Nein, mit dem return klappt das in diesem Zusammenhang nicht. Du kannst jedoch das Ergebnis des confirm abfragen:

    Code
                $('#btnSendEIN1').click(function(){
                    if (confirm('Would you like switch on?')) {
                        // usw.:
                        $.ajax({

Jetzt mitmachen!

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