Für eine Einschätzung wäre ich dankbar
Ich würde versuchen das massiv zu vereinfachen.
1. Die Formularreferenz wenn möglich schon bei Funktionsaufruf der Funktion übergeben:
<form ... onsubmit="return funktion(this);">
oder
<input type="submit" onclick="return funktion(this.form);">
Das spart dir dann schonmal eine Menge Tipparbeit.
function funktion(form)
{
}
und dann auch um die Lesbarkeit zu erhöhen, die einzelnen Bedingungen in Funktionen packen und sinnvoll benamen:
function checkDetailType1(form)
{
return form.REGION.options[0].selected == true
&& form.PRODUCTLINE.options[0].selected == true
&& form.PROJECT_STATUS.options[0].selected == true
&& form.TIER.options[0].selected == true
&& form.APPLICATIONS.options[0].selected == true
&& form.PRODUCT_PROJECT.options[0].selected == true
&& form.OEM.options[0].selected == true
&& form.MISC.options[0].selected == true
&& form.REPORT_DETAIL_TYPE.value == 1;
}
function checkDetailType2(form)
{
return ((form.REGION.options[0].selected == true) &&
(form.TIER.options[0].selected == true) &&
(form.OEM.options[0].selected == true) &&
(form.MISC.options[0].selected == true) &&
(form.REPORT_DETAIL_TYPE.value == 2));
}
function checkDetailType2(form)
{
return ((form.REGION.options[0].selected == true) &&
(form.PRODUCTLINE.options[0].selected == true) &&
(form.TIER.options[0].selected == true) &&
(form.APPLICATIONS.options[0].selected == true) &&
(form.PRODUCT_PROJECT.options[0].selected == true) &
(form.options[0].selected == true) &&
(form.options[0].selected == true) &&
(form.REPORT_DETAIL_TYPE.value == 3))
}
und dann in deiner Hauptfunktion:
if( checkDetailType1(form) || checkDetailType2(form) || checkDetailType3(form) )
{
....
}
So liesse sich dein Programm auch leichter debuggen, da du die einzelnen Funktionen separat testen kannst.
Struppi.