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


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

所以我上周一直在试图弄清楚我做错了什么.. 我尝试使用发布给其他堆栈溢出用户的其他几个脚本,但似乎无法做我需要它做的事情,我仍在学习 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>

现在我试图实现的是有一个javascript,它将计算用户选择他/她的答案的每个字段的输入值。我最初的想法是在每个 value=" 具有默认价格值的情况下执行此操作,例如调查字段的原因,而不是说"不确定"或"购买",他们会说"50"或"100"来表示服务成本。

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

这样说的原因是我希望该值不会使事情变得混乱,如果不是,那么我很乐意使用 value="50" 例如来确定服务的总体成本。我猜是客户基本上把他们自己的包裹放在一起。

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

我真的希望我没有让大家感到困惑! 我看到人们发布非常小的帖子,他们似乎把它放在一个头上,我不能强调我仍在学习,我们都是从某个地方开始的:)这是针对我自己的个人网站,希望一些经验丰富的成员可以帮助我,非常感谢,因为我花了 6 天的时间试图解决这个问题,谢谢!

国王问候

PHP 在第

2 页上.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,你不知道他们的Maschine性能。这是通过PHP计算的更好方法。

导入结束:永远不要回显/打印/使用 POST/GET 变量!这是安全的一大亮点。始终筛选用户输入以防止跨站点脚本 (XSS)http://phpsec.org/projects/guide/2.htmlhttp://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']);