OnLoad führt keine Funktionen aus

#1
ich programmiere mit php und smarty und bin noch anfänger in javascript
Mein problem ist, dass in dem Code unten das onload nicht die funktionen ausführt.

HTML:
<body onLoad="showDivOnTest({$nMaxProjektID}, 'testfall');showNext({$nMaxProjektID}, 'testfall', 'Speichern und weiter mit Test');showNext({$nMaxTestfallID}, 'paket', 'Speichern und weiter mit Test');showArt({$nMaxPaketID}, 'test');" >

....

<div class="table">Projektvorlage
                        <br>
                        <div class="table">
                            <select name="VProjektID" id="testfall" onchange="showDivOnTest(this.value, id);
                                    showNext(this.value, id, '')">
                                <option value="">Keine</option>
                                {foreach key=id item=strGetVorlagen from=$strGetVorlagen}
                                    <option value="{$strGetVorlagen.ID}" {if $button == "Speichern und weiter mit Test"}{if $nMaxProjektID==$strGetVorlagen.ID}selected{/if}{/if}>{$strGetVorlagen.Projektname}</option>
                                {/foreach}
                            </Select>
                        </div>
                    </div>
                    <div class="table">Testfallvorlage
                        <br>
                        <div class='table'>
                            <select name='VTestfallID' id='paket' onchange='showNext(this.value, id, "");
                                    showDivOnTest(this.value, id);'>
                                <option value="" selected="">Keine</option>
                                {foreach key=id item=strGetTestfallVorlagen from=$strGetTestfallVorlagen}
                                    <option value="{$strGetTestfallVorlagen.ID}" {if $button == "Speichern und weiter mit Test"}{if $nMaxTestfallID==$strGetTestfallVorlagen.ID}selected{/if}{/if}>{$strGetTestfallVorlagen.Testfallname}</option>
                                {/foreach}
                            </Select>
                        </div>
                    </div>
                    <div class="table">Paketvorlage
                        <br>
                        <div class="table">
                            <select name="VPaketID" id="test" onchange="showArt(this.value, id);
                                    showDivOnTest(this.value, id)">
                                <option value="">Keine</option>
                                {foreach key=id item=strGetPaketVorlagen from=$strGetPaketVorlagen}
                                    <option value="{$strGetPaketVorlagen.ID}" {if $button == "Speichern und weiter mit Test"}{if $nMaxPaketID==$strGetPaketVorlagen.ID}selected{/if}{/if}>{$strGetPaketVorlagen.Paketname}</option>
                                {/foreach}
                            </Select>
                        </div>
                    </div>
                    <div id="visible" style="display:none">
                        <div id="txtHinttestfall"></div>
                        <div id="txtHintpaket"></div>
                        <div id="Arttest"></div>

                    </div>
                    <div id="visible2" style="display:block">
                        <div class="table">Testart:</div>   <div class="table"><input type="radio" name="Testart" value="Standard">Standard
                            <input type="radio" name="Testart" value="Erweitert">Erweitert</div><br>
                    </div>
Javascript:
function showDivOnTest(str,id) {
    alert("Funktffhgftd");
    if (str === "") {
        document.getElementById("visible2").style.display = "block";
        document.getElementById("visible").style.display = "none";
    } else {
        document.getElementById("visible2").style.display = "none";
        document.getElementById("visible").style.display = "block";
    }
   
if(id === "testfall"){
    document.getElementById("paket").value = "";
    document.getElementById("test").value = "";
}else if(id === "paket"){
    document.getElementById("testfall").value = "";
    document.getElementById("NoneWhenVorlage").style.display = "none";
    document.getElementById("test").value = "";
}
else if(id === "test"){
    document.getElementById("NoneWhenVorlagePaket").style.display = "none";
    document.getElementById("NoneWhenVorlage").style.display = "none";
    document.getElementById("testfall").value = "";
    document.getElementById("paket").value = "";
}

}


function showNext(str, area, button) {
    alert("Funktffhgftd");
    if (str === "") {
        document.getElementById("txtHint" + area).innerHTML = "";
        return;
    } else {
        xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function () {
            if (this.readyState === 4 && this.status === 200) {
                document.getElementById("txtHint" + area).innerHTML = this.responseText;
            }
        };
        xmlhttp.open("GET", "main.php?bereich=vorlage_erstellen&button=" + button + "&area=" + area + "&q=" + str, true);
        xmlhttp.send();
    }
}
Zunächst einmal hätte ich gerne, dass das showDivOnTest funktioniert, den rest ergledige ich dann später.
Vielleicht kann mir ja jemand helfen
 

SpiceLab

ZENmechanic
Premium-User
#2
Warum Du das JavaScript-Problem im PHP-Forum gepostet hast, bleibt Dein Geheimnis, denn die serverseitige Scriptsprache PHP kennt überhaupt keinen onload-Event.

Ich habe es auf jeden Fall entsprechend verschoben.