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

einem <td> ein value mitgeben?

syuam

Neues Mitglied
hey leute, also ich möchte verwirklichen, dass man per Klick auf ein Kästchen(td) auf eine neue Seite umgeleitet wird.
Also habe ich folgendes gemacht:
HTML:
<td id="1" onclick="test1()" style="height: 50px; width: 50px; border: 1px solid black;">
</td>
ABER:
javascript sagt mir, dass wenn eine neue Seite per Klick aufgerufen werden soll, nicht nur "id" sondern auch ein "value" vergeben werden muss...hier:
Code:
<script type="text/javascript">
  function test1() {
    window.open(document.getElementById('id1').value + '.php', "new_window", "width=400,height=200");
    }
</script>
Nun weiß ich jedoch nicht wie ich dem <td> ein value mitgeben kann, kann mir da jemand helfen?
wäre echt super.
LG und danke im vorraus!
 
window.open erwartet mind. 2 Parameter!

window.open(<URL>, <Window-Name>).

Dein erster Parameter ist Fehlerhaft! Du solltest dir mal überlegen was eine URL überhaupt ist.
 
ok danke erstmal für die Antwort,
wüsstest du vielleicht, wie ich das anders lösen soll?
mir geht es nur um die Theorie, ob ich bei der Funktion bleiben soll oder eine andere verwenden soll...
Ich wollte einem <td> nämlich einen value mitgeben, damit ich über onclick dann einen anderen Menüeintrag aufrufen kann.
Wie sollte ich es also anstellen?
LG
 
Menüs werden als Liste strukturiert, und Links entweder in HTML per Anker oder mit JavaScript als window.location.href übergeben.

Tabellen haben damit genauso wenig zu tun wie Values oder window.open(). Das erzeugt nur ein nerviges Popup Fenster.
 
ich weiß schon wie man eine navigation erstellt(liste),
aber mir geht es hier nur um den lernzweck.
Um weiterhin bei der Tabelle zu bleiben, habe ich es nun so gemacht:
HTML:
<table>
  <tr>
    <td><form action="Menüeintrag1.php"><input value="absenden" type="submit"/</form></td>
    <td><form action="Menüeintrag2.php"><input value="absenden" type="submit"/></form></td>
  </tr>
  <tr>
    <td><form action="Menüeintrag3.php"><input value="absenden" type="submit"/></form></td>
    <td><form action="Menüeintrag4.php"><input value="absenden" type="submit"/></form></td>
</tr>
</table>
würde das so gehen?, dass mit jedem Kästchen(td) durch den <form>-tag ein anderer Menüeintrag aufgerufen wird?
LG
 
Zuletzt bearbeitet von einem Moderator:
Bei diesem Code aus deinem Beitrag #1 ist falsch, dass Du eine ID bestehend aus einer Zahl hast:
HTML:
<td id="1" onclick="test1()" style="height: 50px; width: 50px; border: 1px solid black;">
</td>

IDs dürfen nicht nur aus Zahlen bestehen und müssen mit einem Buchstaben anfangen.

Dein Quellcode aus Beitrag #5 wäre theoretisch so machbar, auch wenn Du noch einen HTML-Fehler an allen 4 Formularen eingebaut hast. Nur macht der Quellcode praktisch gesehen keinerlei Sinn - werde dir dessen bewusst, Du willst ja dazulernen.
 
Ich kann mich erinnern, dass mal getrennt wurde, oder?

id für DIVs und
class für Tags,

oder?

Nils aka XraYSoLo
 
aber mir geht es hier nur um den lernzweck.

Versuche es mal so.

Das Script nimmt sich alle Elemente vom Typ 'button', erzeugt die Eventhandler, extrahiert den Zahlenwert aus der ID, baut daraus die URLs und öffnet die Seiten in einem neuen Fenster. #button_1 -> seite_01.php, #button_2 -> seite_02.php.

Das funktioniert ohne Funktionsparameter und vor allem ohne Vermischung von HTML und JavaScript.

HTML:
<button id="button_1">Button 1</button>
<button id="button_2">Button 2</button>

Code:
function createHyperLinks() {
    var button = document.getElementsByTagName('button');

    createEventhandler = function() {
        for (var i = 0; i < button.length; i++) {
            document.getElementById(button[i].id).addEventListener('click', function() {
                var pageId = this.id.split('_');
                var url =  'http://seite_' + pageId[1] + '.php';
                
                window.open(url, '_blank');
            }, false);
        }
    };
    createEventhandler();
};

createHyperLinks();
 
Zuletzt bearbeitet:
Zurück
Oben