所以我上周一直在试图弄清楚我做错了什么.. 我尝试使用发布给其他堆栈溢出用户的其他几个脚本,但似乎无法做我需要它做的事情,我仍在学习 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 天的时间试图解决这个问题,谢谢!
国王问候
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']);