Javascript 用于计算表单输入值然后保存为 page2.php 的隐藏输入的计算脚本

Javascript Calculation script to calculate form input value's then save as hidden input for page2.php

所以我上周一直在试图找出我做错了什么..我已经尝试使用其他几个脚本 posted 给其他堆栈溢出用户,但似乎无事可做我需要它做什么,我仍在学习 html、php 和 java 脚本,所以一切都花了我一些时间,所以非常感谢任何帮助、建议或意见。

所以在我的表单中,我有几个输入字段是选择字段,例如:

                          </div>
                            <div class="form-field">
                              <label class="frm">*Approx Property Value</label>
                              <select name="fldAPV" title="Approx_Property_Value" id="fldAPV" class="form-action select-details">
                              <option value="100" selected="selected">Select value</option>
                              <option value="100">£0 - £100,000</option>
                              <option value="200">£100,001 - £200,000</option>
                              <option value="300">£200,001 - £300,000</option>
                              <option value="400">£300,001 - £400,000</option>
                              <option value="500">£400,001 - £500,000</option>
                              <option value="600">£500,001 - £600,000</option>
                              <option value="700">£600,001 - £700,000</option>
                              <option value="800">£700,001 - £800,000</option>
                              <option value="9000">£800,001 - £900,000</option>
                              <option value="1Million">£900,001 - £1,000,000</option>
                              </select>
                          </div>
                            <div class="form-field">
                              <label class="frm">*Number of Bedrooms</label>
                              <select name="fldNOBEDS2" title="Number_Of_Bedrooms" id="fldNOBEDS2" class="form-action select-details">
                                <option value="Not_Sure" selected="selected">I'm Not Sure</option>
                                <option value="1">1 Bedroom</option>
                                <option value="2">2 Bedrooms</option>
                                <option value="3">3 Bedrooms</option>
                                <option value="4">4 Bedrooms</option>
                                <option value="5">5 Bedrooms</option>
                                <option value="6">6 Bedrooms</option>
                                <option value="7">7 Bedrooms</option>
                                <option value="8+">8 Bedrooms +</option>
                              </select>
                            </div>                              
                            <div class="form-field">
                                <label class="frm">*Reason for Survey</label>   
                              <select name="fldRFS" title="Reason for Survey" id="fldRFS" class="form-action select-details">
     <option value="Not-Sure" selected="selected">Not Sure</option>
      <option value="Selling">Selling</option>
      <option value="Buying">Buying</option>
      <option value="Other-Reason">Other Reason</option>
  </select>

现在我想要实现的是有一个 java 脚本来计算用户选择 his/hers 答案的每个字段的输入值。我最初的想法是用每个 value="" 都有一个默认价格值,例如调查字段的原因,而不是说 "Not-Sure" 或 "Buying" 他们会说“50”或“100”来表示服务成本.

是否有可能有一个脚本可以理解这样的代码,例如: 购买

我这么说的原因是我希望这个值不会让事情变得混乱,否则我很乐意使用 value="50" 来确定服务的总成本.我猜它的客户基本上是在组装他们自己的包裹。

脚本最重要的部分是隐藏计算,因此当单击(查看报价)时,表单将通过 $_GET 或 $_POST 将数据提交到 page2.php 客户可以查看的地方他们的报价。

我真的希望我没有把大家弄糊涂!我看到人们 post 非常小 posts 他们似乎把它放在一个头上,我不能强调我还在学习,我们都从某个地方开始:)这是我个人的网站,希望有经验的会员可以帮助我,非常感谢,因为我花了 6 天时间试图解决这个问题,谢谢!

国王问候

PHP 在 page2.php:

<?php 

If(isset($_POST['submit'])){
    $Quote = $_POST['fldST'] + $_POST['fldAPV'] //... For all nummeric Fields

    Switch ($_POST['fldPropertyType']){ 
     /* Use the Switch Statement if you want to compare the same variable 
        (or expression) with   many different values, and execute a different piece of code  
        depending on which value it equals to.      */

        case 'Semi': 
           $Quote  = $Quote + 20; //Replace 20 wit you're Value
        case 'Terraced': 
           $Quote  = $Quote + 50;
        //... For all cases
    }

    //Other Code and Page Content
    echo $Quote;
}
else{
  //ERROR Page was accessed without filling the form in.
}

?>

我希望这能给您一个如何做的好主意。并非每个客户都有 Javascript enabeld,而且您不知道他们的机器性能。这是通过 PHP.

计算的更好方法

Importend:从不 echo/print/use POST/GET 直接变量!这是一个很大的安全漏洞。始终过滤您的用户输入以防止跨站点脚本 (XSS) http://phpsec.org/projects/guide/2.html http://resources.infosecinstitute.com/website-hacking-part-vi-input-validation-filtering-php/ http://phpsec.org/projects/guide/1.html#1.4.3

<---------------------------------------- -- 更新 ---------------------------------->

使用上面的代码时,Dreamweaver 表示

Switch ($_POST['fldPropertyType']){ 

有语法错误。在我添加所有值之前,这会影响脚本 运行 还是很容易纠正?

谢谢

HTML:

<form>

    <select>
        <option value="1">1</option>
        <option value="2" selected>2</option>
        <option value="3">3</option>
    </select>

    <select>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3" selected>3</option>
    </select>

    <button type="submit">continue</button>

</form>

Javascript:

$('button').on('click', function(e) {

    e.preventDefault();

    var total = 0;

    $('select').each(function(){

        total += Number($(this).val());

    });

    $.ajax({

        type: 'POST',
        url: 'page2.php',
        data: { total: total },
        dataType: 'json',
        success: function(result){ 

            console.log(result);

        }

    });

});

PHP:

header('Content-Type: application/json');

echo JSON_encode($_POST['total']);