javascript - JS、PHP、MySQL 数学运算的代码错误

标签 javascript php jquery html mysql

我写了一个小脚本。我的页面中有一个表格。它从 MySQL 数据库中获取数据。之后,当用户从选择面板中选择一些选项时,我需要 JS 进行数学求和并在 div/input 字段中写入总数。 我写了这个页面,但出现了错误。在网上和这里搜索类似的问题后,我改变了很多东西。

我使用了 parseInt($.. ,10) , document.getElementById("testID").innerHTML , document.getElementById("testID") .value , document.getElementById("testID").val() 等...

所以,我请求你的帮助来纠正我的错误。 谢谢

这是Jsfiddle页面链接;

jsfiddle page

我的代码(这是我拥有的最新版本);

JS:

<script type="text/javascript">
function updatesum() {
    var T = 0;
    var d = document;
    var A = d.getElementById("araclar").val();
    var M = d.getElementById("varis").val();
    var K = d.getElementById("kisiler").val();
    var B = d.getElementById("bavullar").val();
    var C = d.getElementById("cocuklar").val();
    var Ck = d.getElementById("cocukKoltuk").val();
    T = parseInt('A' ,10) * parseInt('M' ,10);
    document.getElementById("toplamm").innerHTML = T;       
      }
</script>

PHP:

<form action="subscribe.php" id="subscribe" method="post" name="subscribe">
                                            <div class="row">
                                                <div class="col-xs-12 col-sm-10">

                                                    <div class="row">

                                                         <div class="col-xs-12 col-sm-6 col-md-3">
                                                            <label>NAME<input class="form-control" name="name" placeholder="NAME" type="text"></label>
                                                        </div>
                                                         <div class="col-xs-12 col-sm-6 col-md-3">
                                                            <label>SURNAME<input class="form-control" name="surname" placeholder="SURNAME" type="text"></label>
                                                        </div>
                                                         <div class="col-xs-12 col-sm-6 col-md-3">
                                                            <label>TELEPHONE<input class="form-control" name="date" placeholder="TELEPHONE" type="tel"></label>
                                                        </div>
                                                         <div class="col-xs-12 col-sm-6 col-md-3">
                                                            <label>EMAIL<input class="form-control" name="email" placeholder="EMAIL" type="email"></label>
                                                        </div>
<hr />
                                                    </div>

                                                    <div class="row">
                                                        <div class="col-xs-12 col-sm-6 col-md-3">
                                                           <label>FROM:<select class="form-control" name="kalkis" id="kalkis" onchange="bolegler(this.value);sifirla();">
    <option value="">Please Select</option>
    <?php
$boleg= mysql_query("SELECT * FROM areas WHERE ust LIKE 0"); 
while($bolges = mysql_fetch_array($boleg)) {
    echo '<option value="'.$bolges['id'].'">'.$bolges['isim'].'</option>';
}
    ?>
</select></label>
                                                        </div>
                                                        <div class="col-xs-12 col-sm-6 col-md-3" id="txtHint">
                                                            <!-- This Code will change after #kalkis change by JS  start-->
                                                           <label>TO:<select name="varis" class="form-control">
                                                        <option value="">Please Select</option>
                                                    </select></label>
                                                    <!-- This Code will change after #kalkis change by JS  end-->
                                                        </div>
                                                         <div id="datetimepicker" class="col-xs-12 col-sm-6 col-md-3 input-append date">
                                                            <label>REZERVATION DATE


      <input type="text" class="col-xs-8 form-control" name="rezervasyon" style="float:left;"></input>
      <span class="add-on col-xs-2" style="float: left; margin: -39px 0; font-size: 23px;"><i class="fa fa-calendar"></i>
      </span>

                                                            </label>
                                                        </div>

                                                        <div class="col-xs-12 col-sm-6 col-md-3">
                                                            <label>CAR:
                                                                <select name="car" id="car" class="form-control" onchange="updatesum();">
                                                                    <option value="0">Please Select</option>
    <?php
$ara= mysql_query("SELECT * FROM cars"); 
while($arac = mysql_fetch_array($ara)) {
    echo '<option value="'.$arac['price'].'" class="'.$arac['id'].'">'.$arac['isim'].'</option>';
}
    ?>

    </select>
                                                            </label>
                                                        </div>

                                                    </div>

                                                    <div class="row">
                                                        <div class="col-xs-12 col-sm-6 col-md-3">
                                                            <label>PERSON QTY
                                                                <select name="persons" id="persons" class="form-control" onchange="updatesum();">
                                                                <option value="0">Please Select</option>
    <?php
$kis= mysql_query("SELECT * FROM person"); 
while($person = mysql_fetch_array($kis)) {
    echo '<option value="'.$person['price'].'" class="'.$person['qty'].'">'.$person['qty'].'</option>';
}
    ?>
    </select>
                                                            </label>
                                                        </div>
                                                        <div class="col-xs-12 col-sm-6 col-md-3">
                                                            <label>bag QTY
                                                               <select name="bags" id="bags" class="form-control" onchange="updatesum();">
                                                                <option value="0">Please Select</option>
    <?php
$bav= mysql_query("SELECT * FROM bag"); 
while($bag = mysql_fetch_array($bav)) {
    echo '<option value="'.$bag['price'].'" class="'.$bag['qty'].'">'.$bag['qty'].'</option>';
}
    ?>
    </select>
                                                            </label>
                                                        </div>
                                                        <div class="col-xs-12 col-sm-6 col-md-3">
                                                            <label>KID QTY
                                                                <select name="cocuklar" id="cocuklar" class="form-control" onchange="updatesum();cocukla();">
                                                                <option value="0">Please Select</option>
    <?php
$coc= mysql_query("SELECT * FROM kidqty"); 
while($kid = mysql_fetch_array($coc)) {
    echo '<option value="'.$kid['price'].'" class="'.$kid['qty'].'">'.$kid['qty'].'</option>';
}
    ?>
    </select>
                                                            </label>
                                                        </div>
                                                        <div class="col-xs-12 col-sm-6 col-md-3" id="koltukalani">
                                                            <label>KID CHAIR 
                                                                <select name='kidchair' id='kidchair' class='form-control' onchange='updatesum();'> 
                                                                    <option value='0'>Please Select</option> 
                                                                    <option value='0'>Do no Want</option> 
                                                                    <option value='<?php echo $genel['kidchair']; ?>'>Need a Kid Chair</option> 
                                                                </select> 
                                                            </label> 
                                                        </div>
                                                    </div>
                                                </div>
                                                <div class="col-xs-12 col-sm-2">
                                                    <button class="form-control submit-button" id="submit" type="submit">SUBMIT</button>
                                                    <br />
                                                    TOTAL AMOUNT:
                                                    <div id="toplamm" class="toplamm">0</div>
                                                </div>
                                            </div>

                                            </form>

和其他代码:

函数sifirla:

<script type="text/javascript">
function sifirla() {
    document.getElementById("toplamm").innerHTML = "0";
}
      </script>

函数cocukla:

      <script type="text/javascript">
function cocukla() {
var cocuk = parseInt(document.getElementById("cocuklar").value);
    if (cocuk < "1") {
    document.getElementById("kidchair").innerHTML = " ";
    }
else {
    document.getElementById("kidchair").innerHTML = "<label>KID CHAIR <select name='kidchair' id='kidchair' class='form-control' onchange='updatesum();'> <option value='0'>Please Select</option> <option value='0'>Do not Want</option> <option value='<?php echo $genel['kidchair']; ?>'>Need a Kid Chair</option> </select> </label>"; }
}

      </script>

最佳答案

在这一行 T = parseInt('A' ,10) * parseInt('M' ,10); 中,您试图获取 char A 和 char M 的 ASCII 码。而您应该将变量 A 和 M 解析为整数。

您需要如下修改您的函数以获得正确的数字-

T = parseInt(A ,10) * parseInt(M ,10);

根据评论更新 -

使用 value 而不是 val() 从 html id 标签中获取值。

T = parseInt(A ,10) * parseInt(M ,10) + parseInt(K ,10) + parseInt(B ,10) + parseInt(C ,10) + parseInt(Ck ,10);

关于javascript - JS、PHP、MySQL 数学运算的代码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33843246/

相关文章:

javascript - 必须按 2 次提交按钮才能实际提交 - AJAX

javascript - 我需要在中间件中使用 `next` 或 `store.dispatch`

php - 时间格式转换使用php

php - 从共享相同 LIMIT 的多个表中查询

javascript - 在 select2 中搜索 select 属性

javascript - Asp.net/JQuery 在下载前显示/隐藏动画 gif

javascript - Node.dispatchEvent(new CustomEvent ('click' )) 自 Chrome v53 起不再触发 anchor

php - 包含来自 "php://memory"流

javascript - 我应该如何捕获一堆下拉菜单(在表中)的变化并存储它?

javascript - 长时间工作后调用函数(回调)