• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

element.innerHTML setzen funktioniert nicht. Was mache ich falsch?

SpocC

Neues Mitglied
Code:
<?php

echo "<a href='/filterwebsite'>Startseite</a><br/><br/><hr/><br/>";

if (isset($_GET['page'])) {
    if ($_GET['page'] == 'links') {
        echo "<b><u>Links herausfiltern:</u></b><br/><br/>
            Adresse eintragen:<br/><form action='/filterwebsite' method='get'>
            <input name='link' type='text' value='http://dict.cc' />
            <input name='filterlinks' type='submit' value='weiter...'>
            </form>";
    }
    if ($_GET['page'] == 'bilder') {
        echo "<b><u>Bilder herausfiltern:</u></b><br/><br/>
            Adresse eintragen:<br/><form action='/filterwebsite' method='get'>
            <input name='bilder' type='text' />
            <input name='filterbilder' type='submit' value='weiter...'>
            </form>";
    }
} else {

    if (isset($_GET['filterlinks'])) {

        $dateiname = $_GET['link'];

        @$datei = fopen($dateiname, 'r');

        if ($datei) {

            echo "<br/><br/><br/>";


            $zeile .= "<a href='http://domain.xy/filterwebsite'>Startseite</a><hr/><br/>";
            $zeile .= "<div id='linkliste'></div>";
            while (!feof($datei)) {
                $zeile .= fgets($datei);
            }
            $zeile .= getScript();

            @$datei = fopen('website.html', 'w');

            if ($datei) {
                fputs($datei, $zeile);
                echo "<a href='/filterwebsite/website.html'>website.html</a> erfolgreich geschrieben!";
            }
        } else {
            echo $dateiname . ' nicht gefunden!';
        }
    }

    if (!isset($_GET['page']) and !isset($_GET['filterlinks'])) {
        echo "<a href='http://domain.xy/filterwebsite?page=links'>Links herausfiltern.</a><br/><br/>";
        echo "<a href='http://domain.xy/filterwebsite?page=bilder'>Bilder herausfiltern.</a>";
    }

    echo "<br/><br/>";
}
echo "</div>";

function getScript() {
    return "
        
[HTML]<script type='text/javascript'> 
    
    window.onload = function(){    
                   
        text = new Array();
        link = new Array();
        
        var alles = document.getElementById('linkliste');
        
        for(var i=0; i <= document.getElementsByTagName('a').length; i++){
              
            text[i] = document.getElementsByTagName('a')[i].textContent;
            link[i] = document.getElementsByTagName('a')[i].getAttribute('href');
        }
        
        for(var i=0; i <= document.getElementsByTagName('a').length; i++){
            alles.innerHTML += text[i] + \": <a href='\" + link[i] + \"' target='_blank'>\" + text[i] + \"</a><br/>\";            
        }  
        
}
</script>[/HTML]";
}

?>
 
Werbung:
probiers mal mit createTextNode() anstelle von innerHTML. Vieleicht hilft das (nicht ausprobiert!). Ansonsten würde ich noch erst das document.getElementsByTagName('a') in einer Variabel speichern und von der dann die Abfragen starten, als den Browser jedes mal suchen zu lassen. Ist halt nur um den Code etwas schneller zu machen.

Grüsse, Webdesigner95
 
Die Fehlerkonsole verrät, woran es liegt:
1. Die '\' sind nur innerhalb von Strings zulässig.
2. Das Schleifenendekriterium muss lauten:
Code:
[COLOR=#000080]i [B]<[/B] document.getElementsByTagName('a').length[/COLOR]
sonst greifst Du oberhalb der Feldgrenze zu.
 
Werbung:
Zurück
Oben