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']);
所以我上周一直在试图找出我做错了什么..我已经尝试使用其他几个脚本 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']);