替换$_POST中的PHP值(用于邮寄)

替换$_POST中的PHP值(用于邮寄),php,forms,Php,Forms,这让我发疯,我找不到能帮助我解决这个问题的信息 我有一个简单的登记表如下: <label for="adults" class="field-label"> Adults</label> <label class="field select prepend-icon"> <select id="adults" name="adults" onChange="updatesum()"> <option value="0"&

这让我发疯,我找不到能帮助我解决这个问题的信息

我有一个简单的登记表如下:

<label for="adults" class="field-label"> Adults</label>
  <label class="field select prepend-icon">
   <select  id="adults" name="adults" onChange="updatesum()">
     <option value="0">...</option>
     <option value="300">1</option>
     <option value="600">2</option>
     <option value="900">3</option>
   </select>
</label>
在将电子邮件发送到以下位置之前,我是否可以替换该值:

If the value = 300 then replace with 1
If the value = 600 then replace with 2
If the value = 900 then replace with 3 
然后发送包含成人人数而非价格的电子邮件

谁能帮我一把吗??谢谢

你可以在这里现场查看,然后按下“boka nu”按钮,这就是我正在制作的表单。
它仍然在测试阶段,你可以做测试,你应该得到相应的电子邮件。为了清楚地理解替换值的含义。在确认电子邮件中,成人=300而不是1

您的表单行为是预期的。发送的是字段的值,而不是其文本。所以

<option value="ThisWillBeSent">This will NOT be sent</option>
这样一来,发送的成人数量就增加了,而客户端仍然有大量的工作要做。在javascript中读取新属性,例如在jQuery中

sum += $el.attr("data-value")
而不是

sum += $el.attr("value")
如果您使用的是纯Javascript,那么您将有如下内容

var combo      = document.getElementById("adults");
var adultValue = combo.options[combo.selectedIndex].getAttribute("data-value"); 
在PHP中,要在服务器端替换值,可以使用
开关

switch ($valueIn) {
   case 300:  $valueOut = 1; break;
   case 600:  $valueOut = 2; break;
   case 900:  $valueOut = 3; break;
   default:
       // Throw some error, to be warned should you ever change
       // the client side array and get an unknown value such as 1200.
 }

(或者,在本例中,也是
$valueOut=$valueIn/300
)。

表单的行为是预期的行为。发送的是字段的值,而不是其文本。所以

<option value="ThisWillBeSent">This will NOT be sent</option>
这样一来,发送的成人数量就增加了,而客户端仍然有大量的工作要做。在javascript中读取新属性,例如在jQuery中

sum += $el.attr("data-value")
而不是

sum += $el.attr("value")
如果您使用的是纯Javascript,那么您将有如下内容

var combo      = document.getElementById("adults");
var adultValue = combo.options[combo.selectedIndex].getAttribute("data-value"); 
在PHP中,要在服务器端替换值,可以使用
开关

switch ($valueIn) {
   case 300:  $valueOut = 1; break;
   case 600:  $valueOut = 2; break;
   case 900:  $valueOut = 3; break;
   default:
       // Throw some error, to be warned should you ever change
       // the client side array and get an unknown value such as 1200.
 }

(或者,在本例中也是
$valueOut=$valueIn/300
)。

为什么不将值更改为1、2、3而不是300600900?!?你能给我们看一下你的电子邮件代码中把值放在里面的那一位吗?因为我有一个脚本,可以对值求和并计算价格:你不能简单地执行值/300吗?你为什么不把值改为1,2,3而不是300,600,900?!?你能给我们看一下你的电子邮件代码中把值放在里面的那一位吗?因为我有一个脚本,可以对值求和并计算价格:你不能简单地做value/300吗?不客气。记住在default子句中添加一个错误报告——给它六个月的时间,你会很高兴你这么做了。我是根据不愉快的经历说的:-)不客气。记住在default子句中添加一个错误报告——给它六个月的时间,你会很高兴你这么做了。我是根据不愉快的经历说的:-)