Ankündigung

Einklappen
Keine Ankündigung bisher.

Parameter wird nicht übergeben

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Parameter wird nicht übergeben

    Hallo,

    sonst in php unterwegs muss ich mich heute mal in javascript rumboxen.

    Folgende Aufgabe habe ich mir gestellt:

    eine javascript-Function soll ein Fenster mit parameterübergabe öffnen. Die URL wird dann per php ausgelesen und verarbeitet. Das klappt auch fast alles. Bis auf die Übergabe der Parameter in der URL.

    Das Script sieht verkürzt so aus:

    Code:
    javascript:
    function viewobj(objectid) {
    alert(objectid);    window.open('obj/view.php?object=objectid','','height=500px,width=550px,left=200,top=200,scrollbars=yes');
    }
    
    Aufruf:
    echo "<a href=\"javascript:viewobj(".$objid.")\">$objid anzeigen</a>";
    Im alert wird der Parameter korrekt übersetzt und er gibt mir in dem kleinen Popup die Zahl aus, die übergeben werden soll. Danach öffnet sich das eigentliche Fenster und dort steht in der URL nicht die Zahl, sondern objectid.

    Kann mir bitte jemand sagen, wie ich es machen muss, damit er die Zahl und nicht den Text einsetzt?


  • #2
    Schreibs's mal so :

    JS:

    Code:
    function viewobj(objectid)
    {
        alert(objectid);         window.open('obj/view.php?object='+objectid,'','height=500px,width=550px,left=200,top=200,scrollbars=yes');
    }
    Aufruf:

    PHP-Code:
    <?php

        
    echo '[url="javascript:void(0)"]'.$objid.'  anzeigen[/url]';

    ?>
    ToolsTool - Online (SEO-)Tools im Browser gleichzeitig starten ...

    Kommentar


    • #3
      Vielen Dank.

      Allein die Änderung in der Function hat schon den erfolg, den ich haben wollte.

      Aber was heisst denn das alles, was du im href eingefügt hast?

      javascript:void(0)

      Kommentar


      • #4
        Würde man folgendes notieren :

        Code:
        <a href="javascript:window.open()"> ...
        ... würde das Skript dem "href" das in JS erzeugte Fenstobjekt übergeben und der Browser würde dies als URL interpretieren. Als Folge würde der Browser versuchen diese zu laden. Resultat : weisser Bildschirm mit "[object-window]" (oder so ähnlich) in der linken oberen Ecke.

        Um dem Browser nun mitzuteilen, dass bei einem Klick auf dem Link keine neue Seite geladen werden soll, haben sich folgende Schreibweisen "eingebürgert" :

        Code:
        <a href="javascript:void(0)" onclick="..."> ..
        
        So übergeibt der JS-Code nix ans "href", was "falsch" interpretierbar wäre ...
        
        oder
        
        <a href="#" onclick="..."> ...
        
        Der Browser wird angewiesen auf der aktuellen Seite zu "einem" (nicht näher spezifizierten) Ankerlink zu springen.
        ToolsTool - Online (SEO-)Tools im Browser gleichzeitig starten ...

        Kommentar


        • #5
          Ahh,

          alles klar. Das erklärt natürlich einiges. Ok.

          Vielen vielen Dank nochmal. Damit komme ich jetzt auf jeden Fall ein ganzes Stück weiter.

          Ich glaub, ich muss mich wirklich mal etwas mehr mit javascript befassen. Das kann ja doch ne ganze Menge nützliche Dinge.

          Kommentar

          Lädt...
          X