Passing Wert von Kontrollkästchen, um Javascript von HTML eingebettet in PHP

stimmen
0

Guten Tag. Ich versuche, die Werte mit einer Liste von Kontrollkästchen, um eine JavaScript-Funktion zugeordnet übergeben, die dann die Gesamt mit ausgewählten Kontrollkästchen zugeordnet für alle Werte berechnet.

Der HTML-Code ist in PHP eingebettet. Wenn ich versuche, die JavaScript-Funktion aufzurufen, erhalte ich eine Null-Ergebnis. Könnte jemand einige Hinweise darüber geben, wo ich falsch werde. Code unten. Alle Hilfe ist willkommen! Vielen Dank.

Die Variablen werden aus den Ergebnissen einer SQL-Abfrage kurz vor dem kopierten Code unten ausgeführt gezogen.

<form action = 'book.php' method = 'POST'>
  <tr><td>$seat</td>
  .<td>$zone</td>
  .<td>$price</td>
  .<td><input type = 'checkbox' id = 'seat['$seat']' value = '$price'></td></tr>
  //.<input type = 'hidden' id = '$seat' value = '$price' action = 'checkDetails()'>
  ;
}

echo </table>
      .Email address for booking .
      <input type = 'text' name = 'email id'>
      .&emsp;&emsp;
      .<button type = 'submit' name = 'book' action = 'book.php'>Book</button></form>
      .&emsp;&emsp;.<button name = 'check price' onclick = 'checkDetails()'>Check Prices</button>;



    } 
    catch (PDOException $e) {
        echo PDOException: .$e->getMessage();
    }

echo <script language = 'javascript'>

  function checkDetails() {
  var seat = document.forms[0];
  var i;
  for (i = 0; i < seat.length; i++) {
    if (seat[i].checked) {
        var total = document.getElementById('seat[i]');
        alert('Your total is ' + total);
    }
}
}

</script>;
Veröffentlicht am 03/12/2018 um 15:37
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
0

Sie sind Looping durch die Formularlänge.

Da dies in PHP gemacht wird, warum nicht setzen Sie die Länge von I programmatisch

var i;
var length = <?= $seat?>;
for (i = 0; i < length; i++) {
if ( document.getElementById('seat[i]').checked) {
    var total = document.getElementById('seat[i]');
    alert('Your total is ' + total.value);
}

der folgende Code Schleife durch die Form und nicht die Elemente

var seat = document.forms[0];
  var i;
  for (i = 0; i < seat.length; i++) {
Beantwortet am 03/12/2018 um 15:50
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more