Announcement

Collapse
No announcement yet.

Wie übergebe ich Parameter mit load() ?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Wie übergebe ich Parameter mit load() ?

    Hallo an Alle,

    ich mache gerade die ersten Schritte mit jquery und ajax. Ich habe 2 Kleine Dateien und will einfach nur mit einem Klick den Text dynamisch wechseln.

    Datei 1
    HTML Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
    <script type="text/javascript">
    	$(document).ready(function(){
    		$("#wert1").click(function(){
    			$("#main").load("inhalt.php", {'param': ''meinValue'})
    		});
    	});
    </script>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Testseite</title>
    </head>
    <body>
    	<a href="#" id="wert1">Klick 1</a><br>
      	<a href="#" id="wert2">Klick 2</a>
    
     	<section id="main">
     	Text 1
     	</section>
    </body>
    </html>
    Datei 2
    PHP Code:
    <?php

    if($param == 1
    {
        echo 
    "Hallo Oma";
    }
    elseif(
    $param == 2
    {
        echo 
    "Hallo Tante";
    }

    ?>
    Meine Frage ist jetzt, wie kann ich den Wert 1 oder den Wert 2 beim Klicken and die Variable "meinValue" übergeben?

    Danke für Eure Hilfe.

    Rene

  • #2
    Die Variable ist param. Der Inhalt ist "meinValue".

    Du bindest über einen ID-Selektor das Event an den ersten Href. Es wir ausgeführt, wenn also auf den Link geklickt wird.

    Woher soll den was für ein Inhalt herkommen? Woher kommt der erste oder zweite Wert?

    In deinem Beispiel kannst du "Hallo Oma" direkt als Wert schreiben und ein zweites Binding mit "Hallo Tante" an den zweiten Link setzen.

    Willst du ein Click-Binding für beide verwenden, ist der Selektor anzupassen. Als Value kann man dann beispielsweise die ID des Links übergeben, der den Click ausgelöst hat. Der ist über $(this) erreichbar
    Christian

    Comment


    • #3
      Was hat das mit PHP & Datenbanken zu tun? Ich verschieb das mal nach JS...
      Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

      Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

      Comment


      • #4
        Hallo Christian,

        danke für Deine Antwort. Leider sind alle Versuche mit dem übergeben der Variable gescheitert Wie genau muss ich das Script umschreiben damit ich eine Variable die ich mit dem Link übergeben möchte (wie auch immer) an Datei 2 übergeben kann?

        Gruß Rene

        Comment


        • #5
          Was für eine Variable? Eine PHP-Variable ist auf dem Client nicht mehr existent. Ggf. diese an Javascript übergeben
          Christian

          Comment


          • #6
            ich möchte einfach nur eine Variable and die Datei 2 übergeben, zum Beispiel param = 1:

            HTML Code:
            $("#main").load("inhalt.php", {'param': '1'})
            oder das geht auch:

            HTML Code:
            $("#main").load("inhalt.php?param=1")
            Wenn ich die Variablen fest definiere klappt es. Wie bekomme ich aber eine Variable aus dem Link

            HTML Code:
            <a href="#" id="wert1">Klick 1</a>
            in die Funktion?

            Comment


            • #7
              Wo ist in einem Link eine Variable? HTML kennt keine Variablen. Sofern ein Attribut gemeint ist, mit einem entsprechenden Selektor
              Zuletzt editiert von Christian Marquardt; 27.05.2013, 16:03.
              Christian

              Comment


              • #8
                Mach doch nicht so kompliziert....

                Deine Javascript variable bekommst du z.B. so :

                Code:
                $('button').click(function(){
                   var wert = $(this).prop('name');
                //und nu dein Code....
                });
                im html halt:

                Code:
                 
                <button name="wert1"> test1</button>
                <button name="wert2"> test2</button>
                Ob das jetzt ein Button oder Link ist, ist da erstmal egal...
                da führen halt viele Wege nach Rom. Das ist einer....

                Comment


                • #9
                  Steht bereits in Beitrag #2
                  Das Attribut NAME gibt es nicht bei den Links des TE
                  Es gibt Selektoren für Attribute http://api.jquery.com/attribute-cont...efix-selector/
                  Zuletzt editiert von Christian Marquardt; 28.05.2013, 06:30.
                  Christian

                  Comment


                  • #10
                    Danke für Eure Unterstützung. Ich habe es jetzt so gelöst und es funktioniert

                    HTML Code:
                    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
                    <html>
                    <head>
                    <script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
                    <script type="text/javascript">
                    	$(document).ready(function(){
                    		$('a').click(function(){
                    			var wert = $(this).prop('name');
                    			$("#main").load('inhalt.php', {'param': wert})
                    		});
                    	});
                    </script>
                    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
                    <title>Testseite</title>
                    </head>
                    <body>
                     
                    <a href="#" name="1"> test1</a><br>
                    <a href="#" name="2"> test2</a><br>
                    
                     	<section id="main">
                     		Text 1
                     	</section>
                    </body>
                    </html>

                    Comment


                    • #11
                      Da das Forum hier keine Beratungsthrea je Benutzer hat, sondern nach Themen sortiert ist gilt: "Neues Thema, neuer Thread"

                      Hier ist nunmehr deine Frage
                      Christian

                      Comment

                      Working...
                      X