JavaScript funktion geht nicht

asseskiller

Lt. Junior Grade
Dabei seit
Sep. 2005
Beiträge
447
hi,
ich hab folgende function

HTML:
function view_einzelnachweis_base(i)
{
if(document.abwicklung.einzelverbingsnacheweis_base.checked==true)
	{
	document.getElementById("evn_base" + i).style.visibility="visible";
	}
else
	{
	document.getElementById("evn_base" + i).style.visibility="hidden";
	}
	
}

aufgerufen wird das hier
PHP:
<?
$i=1;
?>
 <input name="einzelverbingsnacheweis_base<?=$i?>" type="checkbox" value="1" onClick="view_einzelnachweis_base(<?=$i?>)">
.

Es kommt dann folgender fehler:
document.abwicklung.einzelverbindungsnachweis_base is undefined

wisst ihr vielleicht mehr

danke im vorraus
 
Ist doch logisch

PHP ersetzt $i mit 1 dann hast du ein Feld mit dem Namen
einzelverbingsnacheweis_base1

Javascript möchte aber mit der Variable einzelverbingsnacheweis_base arbeiten die es nicht gibt.

PS: Anstatt <?=$i?> benutze doch bitte die richtige PHP Syntax, welche wäre: <?php echo $i; ?>
 
kann ich das so machen?
document.abwicklung.einzelverbingsnacheweis_base+i.checked

ich habs probiert aber dann kommt
document.getElementById("evn_base" + i) is null
 
sorry hab mich geirrt.

habs jetzt so gelöst:

JAVASCRIPT
HTML:
function view_einzelnachweis_eplus(i)
{
if(document.abwicklung.einzelverbingsnacheweis_eplus+i.checked==true)
	{
	document.getElementById("evn_eplus" + i).style.visibility="visible";
	}
else
	{
	document.getElementById("evn_eplus" + i).style.visibility="hidden";
	}
	
}
PHP:
<input name="einzelverbingsnacheweis_eplus<? echo $i;?>" type="checkbox" value="1" onClick="view_einzelnachweis_eplus(<? echo $i;?>)">

<div id="evn_eplus<? echo $i;?>" style="visibility:hidden;">
                <select name="evn_eplus<? echo $i;?>"  >
                    <option>Voll. Speicherung und Voll. EGN</option>
                    <option>Kurz Speicherung</option>
                    <option>Kurz Speicherung und Kurz EGN</option>
                </select>
                </div>

da gibt er mir auch keine fehlermeldung aus.
aber es passiert nichts!!!

woran liegt das?
 
Die Zeile hier dürfte synaktisch nicht korrekt sein bzw eben nicht zu dem Ergebnis führen, welches du willst:
Code:
if(document.abwicklung.einzelverbingsnacheweis_eplus+i.checked==true)
speziell einzelverbingsnacheweis_eplus+i wird so nicht funktioinieren nehme ich an...
hab aber leider schon länger nichts mehr in JavaScript gemacht, also kann ich dir auch nicht sagen, wie der Ausdruck korrekt heißen muss
 
wäre aber interessant zu wissen ^^
 
Um sicher zu gehen, dass der String korrekt erstellt wurde würde ich ihn vorher erstellen:

Code:
var meinElement="einzelverbingsnacheweis_eplus"+i;

if(document.abwicklung.elements[meinElement].checked)
{
        // blabla
}
 
klasse danke
 
Zurück
Top