Zum Inhalt springen

powermail_cond und Probleme mit Selectbox

Erstellt am 29. April 2010 · 7 Antworten · letzte Antwort am 6. Mai 2010

Tags: Powermail, Frage

dnalor ·

Hallo Experten,

ich habe ein powermail Formular mit vier Fieldsets aufgebaut:

FS1: Selectbox mit Auswahl de Werte "Eins, Zwei, Drei"
FS2: Soll eingeblendet werden wenn "Eins" ausgewählt wird
FS3: Soll eingeblendet werden wenn "Zwei" ausgewählt wird
FS3: Soll eingeblendet werden wenn "Drei" ausgewählt wird

Dazu habe ich eine Bedingung mit drei Regeln angelegt (exemplarisch siehe Anhang).

Problem ist, dass immer nur eine Regel greift. Ich habe auch das Beispiel aus der Dokumentation getestet (Auto,Fahrrad). hie rgab es das gleiche Problem. Entweder wird auf Fahrrad ODER AUto reagiert.

hab ich einen Denkfehler oder ist das ein Bug?

Gruß
Roland

conditions.jpg

bipi ·

bin grad auf was draufgekommen, bei mir funktionierts nur wenn ich eine standard FS verwende, sprich Textfeld oder ähnliches, sobald ich z.B. ein HTML Feld oder Textfeld als Ziel FS auswhähle funktionierts nicht, gibts hierfür eine Lösung?

bipi ·

hab die lösung gefunden, einfach in der powermail_cond.js

den Code

switch(array_targetFunction[i]) {
			case 'show': // show target
				if (doit[current_target]) { // of conditions is 1
					target.style.display = 'block'; // show element
					new_targetID.name = 'tx_powermail_pi1[' + new_target[1] + ']'; // MH: change name back to normal-state
				} else {
					target.style.display = 'none'; // hide element
					new_targetID.name = 'tx_powermail_pi1[' + new_target[1] + '][nosend]'; // MH: change name to nosend-state
				}
				break;
			case 'hide': // hide target
				if (doit[current_target]) { // of conditions is 1
					target.style.display = 'none'; // show element
					new_targetID.name = 'tx_powermail_pi1[' + new_target[1] + '][nosend]'; // MH: change name to nosend-state
				} else {
					target.style.display = 'block'; // hide element
					new_targetID.name = 'tx_powermail_pi1[' + new_target[1] + ']'; // MH: change name back to normal-state
				}
				break;

gegen diesen hier tauschen

switch(array_targetFunction[i]) {
            case 'show': // show target
                if (doit[current_target]) { // of conditions is 1
                    target.style.display = 'block'; // show element
                    if (new_targetID != null) {
                        new_targetID.name = 'tx_powermail_pi1[' + new_target[1] + ']'; // MH: change name back to normal-state
                    }
                } else {
                    target.style.display = 'none'; // hide element
                    if (new_targetID != null) {
                        new_targetID.name = 'tx_powermail_pi1[' + new_target[1] + '][nosend]'; // MH: change name to nosend-state
                    }
                }
                break;
            case 'hide': // hide target
                if (doit[current_target]) { // of conditions is 1
                    target.style.display = 'none'; // show element
                    if (new_targetID != null) {
                        new_targetID.name = 'tx_powermail_pi1[' + new_target[1] + '][nosend]'; // MH: change name to nosend-state
                    }
                } else {
                    target.style.display = 'block'; // hide element
                    if (new_targetID != null) {
                        new_targetID.name = 'tx_powermail_pi1[' + new_target[1] + ']'; // MH: change name back to normal-state
                    }
                }
                break;