Checkbox prüfen und Seite erweitern

snackx

Mitglied
Hallo
ich möchte, wenn ich eine checkbox aktiviere, daß die Seite neu geladen wird und dadurch die Seite erweitert wird, das Gegenteil soll passieren wenn ich die checkbox deaktiviere.

So sieht mein bisheriger Code aus:

<script type="text/javascript">
function checkBox()
{
if (con.consignee.checked == false) {
window.location.href="('order.php?sid=<?=$sid>&consignee=yes')";
return true;
} else {
window.location.href="('order.php?sid=<?=$sid;?>&consignee=no')";
return true;
}
}
</script>

<input type="checkbox" name="consignee" value="yes" onClick="checkBox()" ?>>&nbsp;Other consignee</td>

Vielen Dank für Eure Hilfe

Guß

Dirk
 
Von der Vermutung ausgehend, dass $sid mit PHP erzeugt und in den Skriptcode geschrieben werden soll,...
und das"erweitern/reduzieren" ebenfalls durch PHP erledigt wird....

wenn es also nur darum geht, die entsprechende PHP-Seite mit den Parametern aufzurufen, sollte es so gehen:
Code:
<script type="text/javascript">

sid='<?php echo $sid;?>';
function checkBox(blnChecked)
{
blnCon=(blnChecked)?'yes':'no';
window.location.href='order.php?sid='+sid+'&consignee='+blnCon;
}
</script>

<form action="order.php">
<input type="checkbox" name="consignee" value="yes" onClick="checkBox(this.checked)" >
</form>

Die elegantere Methode, welche dieses "erweitern/reduzieren" auch bei deaktiviertem Javascript möglich macht(nach Buttonclick natürlich)...wäre:

Code:
<form action="order.php">
<input type="hidden"name="sid"value="<?php echo $sid;?>">
<input type="checkbox" name="consignee" value="yes" onClick="this.form.submit()">
<noscript><input type="submit"></noscript>
</form>

Dem PHP-Skript wird dabei "consignee" zwar nur übermittelt, wenn es "yes" ist...also die Box angeclickt, aber das sollte kein Problem sein... wenn $_GET['consignee'] nicht vorhanden ist, ist es logischerweise "no".

Vielleicht meinst du aber auch was ganz anderes:rolleyes:
 
...

Danke, ja ich wollte was anderes, habe gestern abend ähnliches gefunden.

es ist mir (auch erst gestern) klar geworden, dass ich die Seite nicht neu laden muss, da ich es mit dem Code fast hinbekomme:

<input type="checkbox" onclick="if(this.checked==true){document.getElementById('tabelle').style.display='block';}else{document.getElementById('tabelle').style.display='none';}">

<tr id="tabelle" style="display:block">
<td width="50%" class="tx12b" bgcolor="#7989BB">consignee</td>
<td class="tx12" width="50%" bgcolor="7989BB">
<input type="text" name="con_name" size="25">
</td>
</tr>

Das einzige Problem, was jetzt noch besteht ist, dass es beim Aufruf der Seite noch nicht ausgeblendet ist, wenn ich die checkbox jedoch aktiviere und dann wieder deaktiviere ist der Bereich ausgeblendet. Hast du vielleicht dafür ein Lösung?

Danke & Gruß

Dirk :rolleyes:
 
Klar, du musst die Zeile standardmässig unsichtbar machen:

PHP:
<tr id="tabelle" style="display:none;">
 

Neue Beiträge

Zurück