Checkbox Status mit "if" abfragen?

  • smhaller
  • Autor
  • Offline
  • Junior Mitglied
  • Junior Mitglied
Mehr
16 Feb. 2010 08:21 #24590 von smhaller
Checkbox Status mit "if" abfragen? wurde erstellt von smhaller
Hallo Kollegen,

im Moment scheine ich ein grosses Verständnisproblem oder zumindest Tomaten auf den Augen zu haben, denn ich sehe die Lösung nicht.

Ausgangslage. Ich habe eine Tabelle mit Feldern (Checkboxen) genereiert mit JHTML.... dies funktioniert soweit auch checkAll tut was es soll. Nun möchte ich in einer zweiten Tabelle die ausgewählten Werte anzeigen lassen, jedoch ohne Formular reload, respektive submit button oder dergleichen. der Status der Box, wird ja in dem Moment gesetzt wenn ich sie auswähle, also muss es doch einen Weg geben, diesen Status wiederum zu verwenden.
Code:
if ($isChecked) { echo $field[$id]; }

geht ja nicht, da der Wert über JavaScript gesetzt wird. Einige Vorschläge aus Java Foren habe ich schon versucht umzusetzen jedoch ohne glaubwürdigen Erfolg.

Das ganze dient einer Art Preview für den Export der Daten. Mit anderen Worten ich brauch den Status sowieso

Herzlichen Dank und liebe Grüsse
Stefan

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
16 Feb. 2010 09:25 #24593 von patrick
Hi Stefan

Das hier könnte in etwa hinkommen(?):

--ALTER LINK WURDE ENTFERNT--

Vielleicht musst du das Skript aber noch an deine Bedürfnisse anpassen ;)

Grüsse
Patrick

InitCom: Webagentur für Webdesign // CMS Joomla! // PrestaShop

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • smhaller
  • Autor
  • Offline
  • Junior Mitglied
  • Junior Mitglied
Mehr
16 Feb. 2010 11:03 #24598 von smhaller
Hallo Patrick,

ja das wäre ja cool, nur kann ich das so nicht umsetzen, weil "onclick" bereits durch "JHTML::_('grid.id'..." gegeben wird.

Ich hab's trotzdem mal eingebaut. Mal schauen vielleicht finde ich ja noch einen Weg damit eine Lösung zu bewerkstelligen. Jedenfalls schon mal Danke.

Gruss
Stefan

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • smhaller
  • Autor
  • Offline
  • Junior Mitglied
  • Junior Mitglied
Mehr
16 Feb. 2010 17:36 #24611 von smhaller
Hallo Zusammen,

das Problem, welches such mit der von Patrick genannten Idee stellt ist Wo platziere ich den onLoad Aufruf?
Im Body-Tag geht ja schlecht. Andererseits müsste ich das Script wohl erstmal richtig einbinden und nicht im tmpl/default.php reinknallen.

Aber wenn es anders geht würde ich das schon gerne über Joomla included Funktionen realisieren.

Liebe Grüsse
Stefan

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
16 Feb. 2010 18:28 #24615 von Tribal6
Hi

Guckst du mal hier:
--ALTER LINK WURDE ENTFERNT--

und hier:
--ALTER LINK WURDE ENTFERNT--

onLoad sollte auch nicht nötig sein, da deine gewünschte zusätzliche Funktionalität ja mit den Checkboxen auf deiner Seite zusammenhängt. Und die siehst du ja erst, wenn die Seite geladen ist. Schreib einfach deine entsprechende Funktion, die jedesmal die vorhandenen, angewählten Checkboxen im Formular ausliest, und die entsprechenden Elemente deiner Tabelle aktualisiert. Da kommst du nicht drumrum, mit oder ohne 'onload' ;)
Auslösen mit onclick auf den Checkboxen sollte es auch tun.

Cheers
Roger

Tue das, was du kannst, mit dem was du hast, da wo du bist.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • smhaller
  • Autor
  • Offline
  • Junior Mitglied
  • Junior Mitglied
Mehr
18 Feb. 2010 21:58 #24669 von smhaller
Hallo zusammen,

ich habs soweit hinbekommen. Bis auf eine kleine Kinderkrankheit die ich noch ausbessern muss. Siehe unten.

Nachfolgend der Integrierte JavaScript code:
Code:
$jselector = '<!--'."\n" . 'function s_d() {' ."\n" . ' var i,Text = "";' ."\n" . ' var t = "checkbox";' ."\n" . ' var f = document.adminForm;' ."\n" . ' var dLen = f.length -1;' ."\n" . ' var cntCB = 0;' ."\n" . ' var format = "";' ."\n" . ' for (i=0; i <= dLen; i++) {' ."\n" . ' if (f.elements&#91;i&#93;.type == t) {' ."\n" . ' cntCB++;' ."\n" . ' }' . "\n" . ' } cnt = cntCB;' ."\n" . ' for (i=0; i < cnt; i++) {' ."\n" . ' if (document.adminForm.elements&#91;i&#93;.checked) {' ."\n" . ' Text=Text+document.adminForm.elements&#91;i&#93;.value+", ";' ."\n" . ' }' ."\n" . ' }' ."\n" . ' /* Text im Ausgabefeld setzen : */' ."\n" . ' document.adminForm.exportset.value=Text;' ."\n" . '}' ."\n" . '//' ."\n"; $document = & JFactory::getDocument(); $document->addScriptDeclaration($jselector);
Den Javateil selbst muss ich auch noch etwas aufbessern und lieber wärs mir das Teil in ein include file zu packen, aber das habe ich bis an nicht geschafft. Kommt Zeit kommt Rat.


Hier dann der Anzeige Bereich:
Code:
<fieldset class="adminform"> <legend><?php echo JText::_('Output Preview'); ?></legend> <table class="admintable"> <tr> <td><textarea cols="100" rows="15" type="t<ext" name="exportset" readonly></textarea></td> </tr> </table> </fieldset>

Der folgende Aufruf führt zwar dazu, dass sämtliche checkboxen markiert werden, lösst dann aber die gewünschte Preview nicht aus. Das ist aber logisch weil die funktion s_d() nicht abgerufen wird.
Code:
<input type="checkbox" name="toggle" onclick="checkAll(<?php echo count($fields); ?>)" value="">Select all</input>

Liebe Grüsse und nochmals Danke.
Stefan

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Moderatoren: Tribal6RePaoDragonlordChris Hoefligerpascaleadiheutschi.ch
Powered by Kunena Forum

Joomla! Verband Schweiz - Mitglied werden