Struppi: Formular....

Beitrag lesen

Mal abgesehen von deinem Problem. Mit tut ein wenig dein Programmierstil weh ;-)

<script language="Javascript">
function changeURL()
{
if (document.Form.lieferung_wohin.value == "adresse1")
{
document.Form.vorname.style.visibility = 'hidden';
document.Form.nachname.style.visibility = 'hidden';
document.Form.strasse.style.visibility = 'hidden';
document.Form.plz.style.visibility = 'hidden';
document.Form.ort.style.visibility = 'hidden';
document.Form.land.style.visibility = 'hidden';
}
if (document.Form.lieferung_wohin.value == "adresse2")
{
document.Form.vorname.style.visibility = 'visible';
document.Form.nachname.style.visibility = 'visible';
document.Form.strasse.style.visibility = 'visible';
document.Form.plz.style.visibility = 'visible';
document.Form.ort.style.visibility = 'visible';
document.Form.land.style.visibility = 'visible';
}
}
</script>

Da sollte doch sofort sichtbar sein, was da verbessert werden kann:

function showForm(form, show)
{
var vis = show ? 'visible' : 'hidden';
form.vorname.style.visibility = vis;
form.nachname.style.visibility = vis;
form.strasse.style.visibility = vis;
form.plz.style.visibility = vis;
form.ort.style.visibility = vis;
form.land.style.visibility = vis;
}

Die alte funktion:
------------------
function changeURL(form)
{
if (form.lieferung_wohin[form.lieferung_wohin.selectedIndex].value == "adresse1") showForm(form, false);
if (form.lieferung_wohin[form.lieferung_wohin.selectedIndex].value == "adresse2") showForm(form, true);
}

Und der Aufruf:
---------------
<select onchange="changeURL(this.form);" name="lieferung_wohin">

BZW. im Body Tag:
-----------------
<body .... onload="changeURL(document.Form);">