Page 1 of 1

Formular Abschnitte ausblenden

Posted: 28. Oct 2016, 10:15
by AndreVogel
Guten Tag,

folgendes Problem liegt aktuell vor. Für einen Workflow haben wir uns ein schönes Formular via Konfigurationselement gebastelt, das neben ein paar Feldern auch ein paar Abschnitte enthält.

Je nachdem welches Item in einer Auswahlliste auf dem Formular ausgewählt wird, werden via JavaScript entsprechende Felder ausgeblendet da diese für das ausgewählte Item nicht ausgefüllt werden müssen.

Dazu hab ich unter Skript --> Benutzerdefiniertes JScript folgenden Code hinterlegt:

Code: Select all

document.attachEvent("onreadystatechange",RegisterScript);

var Pickup = document.getElementById(Ud_ComputerExtensionClassDeploy_PickUp);
var wert = Pickup.options[Pickup.selectedIndex].value;
var wert = Pickup.options[Pickup.selectedIndex].text;
var TargetADOU = document.getElementById(Ud_ComputerExtensionClassTargetADOU);
var Rechnertausch = document.getElementById(Ud_ComputerExtensionClassWasReplacementFor);
var Reset = document.getElementById(Ud_ComputerExtensionClassAssignmentGroup);
Rechnertausch.style.display='none';
TargetADOU.style.display='none';
var Abschnitt = document.getElementById(Section_fed593a5e886e611caa7000c29935eab);



function RegisterScript()
{
    if(document.readyState == 'complete')
    {

    }
}


function ChangePickup(element)
{

var Pickup = document.getElementById(Ud_ComputerExtensionClassDeploy_PickUp);
var wert = Pickup.options[Pickup.selectedIndex].value;
var wert = Pickup.options[Pickup.selectedIndex].text;
var TargetADOU = document.getElementById(Ud_ComputerExtensionClassTargetADOU);
var Rechnertausch = document.getElementById(Ud_ComputerExtensionClassWasReplacementFor);
var Reset = document.getElementById(Ud_ComputerExtensionClassAssignmentGroup);
var Abschnitt = document.getElementById(Section_fed593a5e886e611caa7000c29935eab);


if(wert == "Neuer Rechner")
{
TargetADOU.style.display='block';

}
else
{
TargetADOU.style.display='none';
Abschnitt.style.display='none';

}

if(wert == "Rechneraustausch")
{
Rechnertausch.style.display='block';
}
else
{
Rechnertausch.style.display='none';
}

if(wert == "Rechner Reset")
{
Reset.style.display='block';
}
else
{
Reset.style.display='none';
}
}

Bei den Feldern wird ja eine entsprechende Feld ID angezeigt, die ich dann via Javascript anspreche. Das funktioniert auch wunderbar. Bei den Abschnitten wird mir leider keine ID angezeigt die ich im Code ansprechen könnte, also hab ich mir aus der entsprechenden ASCX die entsprechende Zeile und die dort hinterlegte ID rausgezogen.

Code: Select all

<td id="fed593a5-e886-e611-caa7-000c29935eab_section" height="40px">
<table height="100%" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td class="pFS"><table runat="server" cellSpacing="0" cellPadding="0" class="pseudoFieldset" id="Section_fed593a5e886e611caa7000c29935eab" name="Section_cs_section5" style=""><TR height="8px">

Wenn ich dann wie bisher versuche den Abschnitt über die ID ('Section_fed593a5e886e611caa7000c29935eab') anspreche und das Feld wie bisher ausblenden will kommt nur folgende Fehlermeldung:

function OnChange: "Section_fed593a5e886e611caa7000c29935eab" ist undefiniert.

Komme an der Stelle überhaupt nicht weiter, hat da zufällig jemand eine Idee? :?: :?: :?:

Re: Formular Abschnitte ausblenden

Posted: 28. Oct 2016, 12:26
by msteiner
eventuell kannst du sie mit dem namen des abschnittes ansprechen (siehe CI - Dialog - General - Strings)

Re: Formular Abschnitte ausblenden

Posted: 28. Oct 2016, 15:56
by Sven_Puth
Bin leider nicht sooo fit in JavaScript etc. aber könnte man ein Benutzerdefiniertes Element innerhalb des Abschnitts anlegen mit festgelegter ID und über dieses den Parent (was dann der Abschnitt sein müsste?) ansprechen?