選択した合計を(チェックボックスを介して)合計するフォームに取り組んでいます。私の JavaScript ファイル build.js では、合計が合計されます。私の PHP ページでは、コードは前のフォーム/HTML ページで選択されたアイテムを受け取り、それらを PHP ページに表示されているものに渡します。フォーム ページで JavaScript を介して合計された合計を取り、選択されたすべてのオプションの下に合計として表示されるようにしたいと考えています。
PHP と JavaScript に関する私の知識は非常に初歩的なものです。これは、これらの言語のいずれかで作成した最初の実際のフォームです。私はこのサイトとインターネット全般に注ぎ込みましたが、機能することがわかったオプションを取得できませんでした. ここまでフォームを取得できたのは運が良かっただけだと思うので、コードがきれいでない場合は申し訳ありません。
可能な限り具体的にお願いします。これが私のコードです:
合計を追加する JavaScript:
$(document).ready(function() {
$("input[type=checkbox]:checked").attr("checked", false);
function recalculate() {
var sum = 0;
$("input[type=checkbox]:checked").each(function() {
sum += parseInt($(this).attr("rel"));
});
$("#output").html(sum);
}
$("input[type=checkbox]").change(function() {
recalculate();
});
});
合計を示すフォーム自体に書かれたコード:
<span id="output" class="total"></span><BR><BR>
PHP ページに書かれたコード:
<b>Estimate:</b>
<?php
$aTruck = $_POST['formSelected'];
if(empty($aTruck))
{
echo("You didn't select a truck.<BR><BR>");
}
else
{
$N = count($aTruck);
echo("<h3>Truck Type: ");
for($i=0; $i < $N; $i++)
{
echo($aTruck[$i] . " ");
}}
$aAddons = $_POST['formAddons'];
if(empty($aAddons))
{
echo("You didn't select any options.");
}
else
foreach ($aAddons as $v)
{
echo "<h3> $v </h3>";
}
?>
私が間違っていなければ、現在合計を渡すことができない理由は、ここで読んだことが原因です。PHP はサーバー上で実行され、JavaScript はユーザー側で実行されます。したがって、私のオプションは、合計をフォームで送信し(おそらく隠し変数として、どちらも把握できません)、Ajaxで渡します(使用しているサーバーがこれに対応しているかどうかはわかりません- おそらくそうで、すべて使用エラーです!)、または XMLHttpRequest を使用します。私はそれらのいずれかで見つけることができるものをすべて試しましたが、正しい変数が内部にリストされていないか、間違った場所に配置しているか、単に間違っています。
前述したように、これに関連するすべてのことをフォーラムに集めましたが、私が持っているわずかな理解に十分な具体的なものは何も見つかりませんでした. 私が試したことの中でも特に: javascript 変数値を入力型隠し値に渡し、Javascript 変数を PHP POSTに渡し、XMLHttpRequest を使用し、Ajax を使用して、隠し変数として渡します (私は傾いているが、そうではありません)。私が正しく実装しているとは思わない)そしてさらに多くのこと-昨日仕事で一日中やったことがほとんどすべてなので、質問を冗長にしようとはしていません-どこが間違っているのかわかりません.