kostenloser Webspace werbefrei: lima-city


Schleife mit php-variable in javascript nutzen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    zhd-dresden

    zhd-dresden hat kostenlosen Webspace.

    Hallo liebe Gemeinde,
    mich treibt wieder ein kleines Problem um. Ich möchte in einer PHP-Schleife eine sich verändernde Variable im id="$a($x)" nutzen um damit den Input auslesen. Am besten erst mal den Code

    <!DOCTYPE html>
    <html>
    
    <head>
        <title>Rechnen2</title>
    
        <meta charset="UTF-8"/>
        <meta name="description" content=""/>
        <meta name="author" content="">
        <meta name="keywords" content="">
        <meta name="generator" content="Webocton - Scriptly (www.scriptly.de)"/>
    
        <link href="style.css" type="text/css" rel="stylesheet"/>
    <script language="javascript" type="text/javascript">
    function rechnen()
    {
    var Z1 =0;
    var Z2 =0;
    var Z3 =0;
      Z1 = document.getElementById("Z1").value;
      Z2 = document.getElementById("Z2").value;
    
      Z3 =  parseFloat(Z1)+parseFloat(Z2);
    document.getElementById("Ergebnis").value = Z3;
    }
    </script>
    </head>
    
    <body>
    <?php
    $z1="Z1";
    $z2="Z2";
    ?>
    
    <form name="Rechnen">
    <table width="400" style="border:1px dotted #9E8DE3" cellspacing="0" border="0" cellpadding="10" class="bgcolor5" >
    <!-- Ab hier soll eine php-Schleife laufen die das id-Feld mit einem Array gefüllt werden soll  -->
    <!-- zB <td>Wert1:</td><td><input  id="<?php echo $z1($x) ?>" type="text" name="min" size="2"/></td> -->
    <tr>
    <td>Wert1:</td><td><input  id="Z1" type="text" name="min" size="2"/></td>
    </tr>
    <tr>
    <td>Wert2:</td><td><input  id="Z2"  type="text" name="max" size="2"/></td>
    </tr>
    <!-- Schleife bis hier und die Summe aus dem Array soll dann gebildet  ausgerechnet werden -->
    <tr>
    <td>Ergebnis:</td>
    <td>
    <input  readonly="readonly" id="Ergebnis"  name="Ergebnis"/>
    </td>
    </tr>
    <tr>
    <td colspan="2">
    <input class="input1c" type="button" value="berechnen" name="go" onclick="rechnen()"/>
    
    <input onclick="" class="" value="löschen" type="reset"/>
    </td>
    </tr></table>
    </form>
    
    </body>
    </html>


    Aber es funktioniert einfach nicht. Kennt einer einen Lösungsansatz. Ich stehe gerade erst am Anfang mit Javascript. Ich bitte deshalb um Nachsicht.
    Euch allen einen schönen 1. Advent
    und mit den freundlichsten Grüßen
    Frank

    Beitrag zuletzt geändert: 26.11.2016 21:45:12 von zhd-dresden
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Am besten lernst du erst mal PHP.
    Es gibt übrigens eine schlaue Ente die kann dir auch helfen
    <script>....<?php
    $variable = $_POST["Z1"];
    $variable2 = $_POST["z2"];
    echo "var variable=" . $variable . ";";
    echo "var variable=" . $variable2 . ";";
    ?>
    .... </script>



    Beitrag zuletzt geändert: 26.11.2016 22:38:51 von xn--94h
  4. Autor dieses Themas

    zhd-dresden

    zhd-dresden hat kostenlosen Webspace.

    Hallo, nun in Sachen PHP bin ich schon etwas belesen und kann recht gut damit umgehen, heißt nicht in bin Spezialist. Leider kann ich mit deinem Ansatz nicht viel anfangen. Wohin müsste das Scrip?

    Vielleicht hab ich mich auch falsch ausgedrückt?

    <input  id="Z1" type="text" name="max" size="2"/>

    wie kann ich das id-feld auslesen wenn ich eine Variable nutze.
    <input  id="<? php echo "$Z1"; ?>" type="text" name="max" size="2"/>


    Die Variable soll sich unterschiedlich verändern ( Z1 bis Z9 ....)

    Ich möchte die Seite nicht! neu laden sondern im Verlauf ein Zwischenergebnis ausgeben

    die Variablen werden benötigt und dann weitergeben , nicht! das ermittelte Zwischenergebnis.

    Dennoch vielen Dank für deine Mühen,
    mit freundlichsten Grüßen Frank

    Beitrag zuletzt geändert: 27.11.2016 10:58:31 von zhd-dresden
  5. Hallo Frank,

    ehrlich gesagt werde ich noch nicht ganz schlau, was du vor hast.
    Um ein paar Benutzereingaben zusammenzuaddieren und auszugeben, benötigst du kein PHP, das kann Javascript alleine. Wenn du aber Zahlen vom Server laden oder auf den Server speichern möchtest, dann kommt PHP ins Spiel.

    Es ist gut, dass du Code postest, was du schon versucht hast. Aber du solltest auch noch genau beschreiben, was die Seite eigentlich tun soll. Dann kann man dir hoffentlich besser helfen.
  6. Ich verstehe es auch nich am besten benutzt du die schlaue Ente und liest dir mal ein paar PHP tutorials durch.

    Hier

    Beitrag zuletzt geändert: 27.11.2016 12:24:51 von xn--94h
  7. Autor dieses Themas

    zhd-dresden

    zhd-dresden hat kostenlosen Webspace.

    Hallos liebe Gemeinde,
    hab nun das Problemchen doch allein lösen können. Ich glaube es liegt noch an meinem Verständnis zum Unterschied PHP und Javascript, das eine läuft auf dem Server, das andere auf dem Rechner. Wird noch einige Zeit an Üben brauchen um da dahinter zu steigen.
    Für den den es interessiert stelle ich es mal rein. Gerade Anfängern hilft es vielleicht. Und es zeigt was ich wollte, ohne es richtig formulieren zu können:wall:

    <?php
    
    ?>
    <!DOCTYPE html>
    <html>
    
    <head>
        <title>Rechnen3</title>
    
        <meta charset="UTF-8"/>
        <meta name="description" content=""/>
        <meta name="author" content="">
        <meta name="keywords" content="">
        <meta name="generator" content="Webocton - Scriptly (www.scriptly.de)"/>
    
        <link href="style.css" type="text/css" rel="stylesheet"/>
    <script language="javascript" type="text/javascript">
    function rechnen()
    {
    var Z1 =0;
    var Z2 =0;
    var Z3 =0;
    var Z4 =0;
    var zw =0;
    var aus =0;
    var ii =0;
    var ZZ4=0;
    var zww = 0;
    var  ZZ1 = 0;
    var  ZZ2 = 0;
    var  ZZ3 = 0;
    var zzaus=0;
     ZZ1 = document.getElementById("Z1").value;
     ZZ2 = document.getElementById("Z2").value;
     ZZ2 = document.getElementById("Z2").value;
    zw= "Z";
    
    for (ii=3;ii<=6;ii++)
     {
      zww= zw+ii
     ZZ3 = document.getElementById(zww).value;
     ZZ4 = parseFloat(ZZ4)+ parseFloat(ZZ3)
      }
    
     zzaus = document.getElementById("Ausl").value;
     Z4 = parseFloat(ZZ1)+parseFloat(ZZ2)+parseFloat(ZZ4);
    
    document.getElementById("Ergebnis").value = Z4;
    document.getElementById("Auslraus").value = zzaus;
    }
    </script>
    </head>
    
    <body>
    
    <form name="Rechnen" action="#" id=""   method="post">
    <table width="600" style="border:1px dotted #9E8DE3"  border="0"   >
    
    <tr>
    
    <td><input  id="Z1" type="text" name="max" size="2"/></td><td>Eingabewert eintragen</td>
    </tr>
    
    <tr>
    
    <td><input  id="Z2" type="text" name="max" size="2"/></td><td>Das ist ein zweiter Wert zum Rechnen</td>
    </tr>
    <?php $z="Z";
    for ($i=3;$i<=6;$i++)
    {
    ?>
    <tr>
    <td><input  id="<?php echo $z.$i; ?>" type="text" name="max" size="2"/></td><td>hier ist die schleife zum Rechnen</td>
    </tr>
    <?php } ?>
    
    <tr>
    <td><input  readonly="readonly" id="Ergebnis"   name="Ergebnis"/></td><td>Ergebnis:</td>
    
    </tr>
    <tr>
    <td><input hidden=""  readonly="readonly" id="Ausl"   name="Ergebnis" value="<?php echo $z; ?>"/></td><td>Ergebnis:</td>
    
    <td><input  readonly="readonly" id="Auslraus"   name="Ergebs"/></td><td>Auslesen:</td>
    
    </tr>
    <tr>
    <td>
    <input  type="button" value="berechnen" name="go" onclick="rechnen()"/>
    </td>
    <td>
    <input onclick="" class="" value="löschen" type="reset"/>
    </td>
    </tr></table>
    </form>
    
    </body>
    </html>
    
     <?php
    ?>


    und noch was zu dem sinnigen Bewertungssystem, bzw an den der mir da glaubte einen Punkt abziehen zu müssen:kiss: , Ich betreibe Programmieren als Hobby, mal mehr mal weniger. Bin Anfänger, und dankbar hier auch Hilfe oder Anregungen zu finden Wem meine,im ganzen zahlenmäßig seltenen Beiträge, zu einfach(primitiv) sind, einfach weiteblättern. Mir sind diese Bewertungspunkte sowas von schei...-egal, also einfach lassen (oder auch nicht:lol::lol: . Ich schreibe hier nicht für Plätze oder "Gulden", wenn ich eine DB brauche, kaufe ich sie mir.
    Ich wünsche allen fleißigen Helfern eine friedliche Vorweihnachtszeit, und... der Glühwein auf dem Weihnachstmark schmeckt am besten,
    mit den freundlichsten Grüßen, Frank
  8. Hm, ich denke Hinweise auf Tutorials, Manuals und Handbücher sind wenig Hilfreich, da diese meist nur sich mit der Sprache selbst befassen und derartige Axiome der Programmierung wenn dann nur am Rande erwähnen.

    Zum Verständnis hier mal eine kleine Zusammenfassung, auch wenn das Problem bereits gelöst wurde:

    In jeder Situation, in der man Client-serverseitig die Programmtexte trennt, werden die Codes zu unterschiedlichen Zeiten ausgeführt.

    An dem beispiel mit PHP im Einsatz ist es so, dass der Webserver als erstes den PHP-Teil interpretiert. jegliche JavaScripts/HTML/XML/CSS werden vom Server wie Klartext behandelt, also diese befehle finden auf dem Server keine Anwendung.

    Also läuft der Server jegliche Programmtexte ab, die PHP enthalten und führt sie aus, sobald er durch ist, dass er zum commit kommt, hast du einen Block/mehrere Blöcke fertig gebastelten Code, der beim Client ankommt und dort ausgeführt wird. der Client(Web-Browser) kann kein PHP und bekommt auch keines, er verarbeitet lediglich HTML und CSS für INhalte + Design, Logik bekommt er über JavaScript.

    Wenn du jetzt eine PHP-schleife durchlaufen lässt, die immer einen Wert überschreibt, liefert dir der Webserver lediglich den letzten Wert aus an den Browser.

    Wenn du so etwas brauchst stellt sich die Frage, wann sind welche Daten wo verfügbar. In deinem Fall der Benutzereingaben, stehen diese Informationen dem Server nie zu verfügung, außer du übermittelst die Daten über Formular/Ajax separat an den Server mittels get/post. Dafür gibt es unterschiedliche Technologien, die unterschiedliche vor- und nachteile haben.

    Also:

    1.PHP bastelt ausgabe an Client nach anfrage
    2. Client bastelt HTML gerüst mit CSS Designinformationen
    3.Client führt Javascript aus

    Das ist vorgegeben, ab Punkt 3 was passiert bestimmst du über JavaScript, ob nochmal Server angefragt wird oder nicht

  9. Autor dieses Themas

    zhd-dresden

    zhd-dresden hat kostenlosen Webspace.

    Hallo Drachentöter,
    vielen Dank für deine Zeilen, dass du dir die Mühe gemacht hast, mal hinter die Kulissen zu schauen. Das kommt bei den Tutorials wirklich kaum rum. Ist zumindest für mich sehr hilfreich und lässt mich für die Zukunft erkennen, was geht und was schon von vornherein nicht laufen kann.
    Allen eine schöne Woche noch, und eine besinnliche Vorweihnachtszeit,
    mit den freundlichsten Grüßen, Frank:wave:
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!