Romi: Variablen-Verarbeitung

Hallo :o)

<script language = "javascript">
function rechnen_i(nummer) {
 window.document.konf.ergebnis+nummer.value = eval(window.document.konf.bez+nummer.value+'*'+window.document.konf.addit+nummer.value)};
</script>

<? $numero="3"; ?>
<input type="text" name="addit<? echo "$numero"; ?>" size="5" value="<? echo "$preis_m"; ?>" readonly></td>
<input type="text" name="bez<? echo "$numero"; ?>" value="0" size="5" onKeyup="rechnen_i(<? echo "$numero"; ?>)>
<input type="text" name="ergebnis<? echo "$numero"; ?>" value="0" size="5" readonly>

Was stimmt hier rein Javascript-technisch nicht?

Gruß Eure Romi :o)

  1. Hallo!

    <script language = "javascript">

    <script type="text/javascript">

    <? echo "$numero"; ?>
    War zwar nicht gefragt, aber: die Anführungszeichen können weg.

    <input type="text" name="bez<? echo "$numero"; ?>" value="0" size="5" onKeyup="rechnen_i(<? echo "$numero"; ?>) >

    --------------------------------------------------^
    Hier sollte eines der eingesparten Anführungszeichen hin ;-)

    mfg,
    Pen

    1. Das war wohl nix.

      So meinte ich:

      <input type="text" name="bez<? echo "$numero"; ?>" value="0" size="5" onKeyup="rechnen_i(<? echo "$numero"; ?>)">

      1. Danke Pen :o)

        aber das ist nicht entscheidend.
        Die Sache mit dem Anführungszeichen ist nur ein Schusselfehler :o)

        Gruß Romina

  2. Hallo :o)

    <script language = "javascript">
    function rechnen_i(nummer) {
     window.document.konf.ergebnis+nummer.value = eval(window.document.konf.bez+nummer.value+'*'+window.document.konf.addit+nummer.value)};
    </script>

    Ihhhh, warum um himmels Willen verwenden alle für jeden Dreck eval?

    Das was du da machst geht auch ohne.

    <? $numero="3"; ?>
    <input type="text" name="addit<? echo "$numero"; ?>" size="5" value="<? echo "$preis_m"; ?>" readonly></td>
    <input type="text" name="bez<? echo "$numero"; ?>" value="0" size="5" onKeyup="rechnen_i(<? echo "$numero"; ?>)>
    <input type="text" name="ergebnis<? echo "$numero"; ?>" value="0" size="5" readonly>

    Was stimmt hier rein Javascript-technisch nicht?

    <? echo "$numero"; ?> ist PHP und das interessiert in diesem Zusammenhang nicht.

    Was du hast ist:
    <input type="text" name="addit1" size="5" value="1,99" readonly>
    <input type="text" name="bez1" value="0" size="5" onKeyup="rechnen_i(1)>
    <input type="text" name="ergebnis1" value="0" size="5" readonly>

    Du brauchst dieses Nummero nicht, was willst ist:
    Nummer 0:
    <input type="text" name="addit" size="5" value="1,99" readonly>
    <input type="text" name="bez" value="0" size="5" onKeyup="rechnen_i(0, this.form)>
    <input type="text" name="ergebnis" value="0" size="5" readonly>

    Nummer 1:
    <input type="text" name="addit" size="5" value="1,99" readonly>
    <input type="text" name="bez" value="0" size="5" onKeyup="rechnen_i(1, this.form)>
    <input type="text" name="ergebnis" value="0" size="5" readonly>

    <script type="text/javascript">

    function rechnen_i(index, form)
    {
        form.ergebnis[index].value =  form.bez[index].value * form.addit[index].value

    };
    </script>

    und wenn du die in PHP auswerten musst, dann müssen den Feldnamen ein '[]' angehängt werden. In Perl kanst du das Array so auslesen.

    Struppi.

    1. Hallo Struppi,

      entweder stell ich mich zu doof an, oder das was Du da vorgeschlagen hast funktioniert nicht.

      Das $numero brauch ich doch, da die Funktion rechnen_i aus einer Schleife heraus aufgerufen wird.

      Gruß Romina

      1. Hallo Struppi,

        entweder stell ich mich zu doof an, oder das was Du da vorgeschlagen hast funktioniert nicht.

        Da fehlten Anführungszeichen und natürlich der Rest vom HTML.

        Das $numero brauch ich doch, da die Funktion rechnen_i aus einer Schleife heraus aufgerufen wird.

        In was für einer Schleife???

        OK, hier funktionsfähiger Code:
        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
        <html>
        <head>
        <title></title>
        <script type="text/javascript">

        function rechnen_i(i, frm)
        {
           frm.ergebnis[i].value = frm.bez[i].value * frm.addit[i].value;
        }
        </script>
        </head>

        <body>
        <pre>
        <form name="testform" action="irgendwas" method="post">

        Nummer 0:
        <input type="text" name="addit" size="5" value="1.99" readonly>
        <input type="text" name="bez" value="0" size="5" onKeyup="rechnen_i(0, this.form);">
        <input type="button" name="ergebnis" value="0" size="5">

        Nummer 1:
        <input type="text" name="addit" size="5" value="1.99" readonly>
        <input type="text" name="bez" value="0" size="5" onKeyup="rechnen_i(1, this.form);">
        <input type="button" name="ergebnis" value="0" size="5">

        </form>

        </pre>
        </body>
        </html>

        1. In was für einer Schleife???

          eine einfache for-Schleife.
          Außerdem wird anhand dieser Variable noch das Value vom ersten Input aus einer Datenbank geholt.

          OK, hier funktionsfähiger Code

          Danke, das funktioniert nun allerdings, obwohl der letze Input kein Button ist :o)

          for ($i=0;$i<1000;$i++) {
           echo "Danke :o)<br>\n";
          }

          :o)))

    2. Wie war'n das mit gemeint?

      und wenn du die in PHP auswerten musst, dann müssen den Feldnamen ein '[]' angehängt werden.

      aus der Schleife heraus funktionierts nämlich nicht :o(

      Hallo :o)

      <script language = "javascript">
      function rechnen_i(nummer) {
       window.document.konf.ergebnis+nummer.value = eval(window.document.konf.bez+nummer.value+'*'+window.document.konf.addit+nummer.value)};
      </script>

      Ihhhh, warum um himmels Willen verwenden alle für jeden Dreck eval?

      Das was du da machst geht auch ohne.

      <? $numero="3"; ?>
      <input type="text" name="addit<? echo "$numero"; ?>" size="5" value="<? echo "$preis_m"; ?>" readonly></td>
      <input type="text" name="bez<? echo "$numero"; ?>" value="0" size="5" onKeyup="rechnen_i(<? echo "$numero"; ?>)>
      <input type="text" name="ergebnis<? echo "$numero"; ?>" value="0" size="5" readonly>

      Was stimmt hier rein Javascript-technisch nicht?

      <? echo "$numero"; ?> ist PHP und das interessiert in diesem Zusammenhang nicht.

      Was du hast ist:
      <input type="text" name="addit1" size="5" value="1,99" readonly>
      <input type="text" name="bez1" value="0" size="5" onKeyup="rechnen_i(1)>
      <input type="text" name="ergebnis1" value="0" size="5" readonly>

      Du brauchst dieses Nummero nicht, was willst ist:
      Nummer 0:
      <input type="text" name="addit" size="5" value="1,99" readonly>
      <input type="text" name="bez" value="0" size="5" onKeyup="rechnen_i(0, this.form)>
      <input type="text" name="ergebnis" value="0" size="5" readonly>

      Nummer 1:
      <input type="text" name="addit" size="5" value="1,99" readonly>
      <input type="text" name="bez" value="0" size="5" onKeyup="rechnen_i(1, this.form)>
      <input type="text" name="ergebnis" value="0" size="5" readonly>

      <script type="text/javascript">

      function rechnen_i(index, form)
      {
          form.ergebnis[index].value =  form.bez[index].value * form.addit[index].value

      };
      </script>

      und wenn du die in PHP auswerten musst, dann müssen den Feldnamen ein '[]' angehängt werden. In Perl kanst du das Array so auslesen.

      Struppi.