Vorschlag:
Löse das ganze eventuell über ein externes Php Script, das du in nem unsichtbaren Iframe lädst beim Button klick.
So hast du zwar kein Exit-Code deines Scripts zur verfügung, du kannst aber easy den Button verstecken & er bleibt auch versteckt.
Beispiel:
Code:
<iframe id="myframe" src="#" width="0" height="0"></iframe>
<input type="button" id="mybt" value="Anschalten" onClick="javascript:on();">
<script>
function on()
{
document.getElementById('myframe').src="SwitchItOn.php"; //Php Script in Iframe laden
document.getElementById('mybt').style="display:none;"; //Button wegmachen
}
</script>
Müsstest du aber testen ob das ganze so machbar wäre.. Habe bisher nicht mit dem Rapsberry gearbeitet und kann dir da leider nichts genaueres zu sagen deshalb.
Mein Vorschlag ist nicht die schönste Methode, aber sollte theoretisch klappen
Alternative Idee:
Du könntest dein HTML Code & den Code zum aufruf des Shell scriptes alles in eine PHP Datei packen.
Beim Button-Drücken rufste nun die gleiche PHP Datei auf, schickst aber nen POST oder GET Befehl mit.
Wenn der POST / GET Befehl nun vom Script erkannt wird, weiß es "Da hat jemand den Anschalt Knopf gedrückt".. und du könntest dann den Button automatisch vom Script einfach ausblenden lassen (garnicht erst den HTML Code des Buttons an den Browser ausgeben).
Und zusätzlich halt dann dein Shell Script Kram PHP basiert machen.
Pseudocode:
Code:
<?
$bt_pressed = $_GET['pressed'];
echo "HTML CODE";
echo "HTML CODE";
echo "HTML CODE";
if($bt_pressed != "true")
{
echo "HTML CODE FÜR BUTTON";
}else
{
ShellScriptAufrufen();
}
echo "HTML CODE";
echo "HTML CODE";
echo "HTML CODE";
?>
Beim Button OnClick einfach deine Php datei mit dem Parameter "?pressed=true" (In der Url) aufrufen, und voila.
Der Button ist dann automatisch "ausgeblendet" wenn der Parameter erkannt wird.
Schöner gelöst ises dann aber wie vorgeschlagen das ganze mit Exit Code zu checken.. so kannst Dynamisch den richtigen Button einblenden etc.