ich versuche seit einigen Stunden folgendes zu verwirklichen:
Für die Fritz!Box gibt es ein WOL Paket, mit welchem man über ein Interface verschiedene Computer auswählen kann, und anschließend per Buttom "WakeUp" den PC per WOL aufwecken kann.
Ich möchte nun in dieses Interface einen weiteren Button einbauen, welcher automatisch die Werte "mac" und "interf" setzt und anschließend ein submit macht
Mein Ansatz war, dies in einem Script zu durchlaufen, welches ich per OnClick aufrufe.... leider passiert hier nichts.
Mein bisheriger Versuch:
- Code: Alles auswählen
<script>
function myEvents(macad,interfnam){
document.wake.mac.value=macad;
document.wake.interf.value=interfnam;
submit;
}
</script>
<TD> <input type="button" value="FamServer"
onclick="myEvents('00:27:0E:07:40:26','lan');"></TD>
Ganzes CGI:
- Code: Alles auswählen
#!/bin/sh
cgi_width=560
. /usr/lib/libmodcgi.sh
cgi_begin 'Wake on LAN'
cat << EOF
<p>
Bekannte Hosts:
<select onChange="var s = this.options[this.options.selectedIndex].value; document.wake.mac.value = s.substr(0,s.search(/\*/)); document.wake.interf.value = s.substr(s.search(/\*/)+1); return false;">
<option value="*" selected>(wählen)</option>
EOF
if [ -r /var/media/ftp/uStor01/Daten/wolHosts ]; then
egrep -v '^(#|[[:space:]]*$)' /var/media/ftp/uStor01/Daten/wolHosts |
while read -r ip mac interface host desc; do
if [ dhcp-host = "$mac" ]; then
if [ -n "$host" -a -r /var/tmp/multid.leases ]; then
mac=$(sed "/${host}/!d;s/^lease //;s/ .*//" /var/tmp/multid.leases)
else
continue
fi
fi
if [ -n "$mac" -a "$mac" != "*" ]; then
if [ -n "$interface" -a "$interface" != "*" ]; then
value="$mac*$interface"
else
value="$mac*"
fi
echo -n '<option value="'"$value"'">'
if [ -n "$desc" ]; then
[ '*' != "$host" ] && echo -n "$host "
echo -n "$desc"
elif [ -n "$host" -a "$host" != "*" ]; then
echo -n "$host"
else
echo -n "$mac"
fi
echo '</option>'
fi
done
fi
cat << EOF
</select>
</p>
<p>MAC und Netzwerk-Schnittstelle für Etherwake angeben oder einen der bekannten Hosts wählen.</p>
<form style="padding-top: 10px; padding-bottom: 10px;" name="wake" action="/cgi-bin/wake.cgi" method="post">
<table border="0" cellspacing="1" cellpadding="0">
<tr>
<td width="200">MAC: <input type="text" name="mac" size="17" maxlength="17" value=""></td>
<td width="180">Interface: <select name="interf">
EOF
echo '<option title="" value=""></option>'
for INTERFACE in $(ifconfig | grep ^[a-z] | cut -f1 -d ' '); do
echo '<option title="'$INTERFACE'" value="'$INTERFACE'">'$INTERFACE'</option>'
done
echo '</select></td>'
foundwol=$(which wol)
if [ -x "$foundwol" ]; then
cat << EOF
<td width="180">Methode:<select name="prog">
<option selected value='ether-wake'>ether-wake</option>
<option value='wol'>wol</option>
</select></td>
EOF
fi
cat << EOF
<td width="100"><input type="submit" value="WakeUp"></td>
<script>
function myEvents(macad,interfnam){
document.wake.mac.value=macad;
document.wake.interf.value=interfnam;
submit;
}
</script>
<TD> <input type="button" value="FamServer"
onclick="myEvents('00:11:22:33:44:55','lan');"></TD>
</tr>
</table>
</form>
EOF
cgi_end
Ich bin mit meinem Latein am Ende, bzw mir fällt auch nicht mehr ein nach was ich suchen muss, um weiter zu kommen,
daher bin ich für Tipps, Denkanstöße oder ev. sogar Lösungen dankbar.
MfG
die0kleine0Meinung