PHP表单一旦提交允许用户输入再次生成新值?

时间:2017-05-15 14:31:37

标签: javascript php jquery ajax forms

当表单被填写并提交并且用户被带到表单中指定的.php,并且他们的输入使用POST发送并且现在被回显以供用户查看他们的输入时,是否可以在同一页面有按钮或无线电检查,可以对输入进行不同的操作,具体取决于哪一个被点击了?

正如我收集的那样,javascript和php是不可能的,因为如果是的话,那就是服务器端。使用一个新的表单,也就是ajax,似乎使用POST调用丢失了所有正在回显的原始值?

关于是否有解决方案以及实施它的最佳方法的任何想法?

一个例子是卡路里计算器,高度,重量等的用户输入被提交然后该值用于计算卡路里。因此值得回应 - 但在同一页面上,用户现在可以点击按钮将卡路里分成50%碳水化合物40%蛋白质10%脂肪或另一个按钮40 40 20等。

1 个答案:

答案 0 :(得分:0)

据我所知,您的问题是 - 页面刷新(或显示的页面不同),并且您希望保留以前状态的输入字段内的值。你可以这样做:

<form ...>
   Weight:<input name="weight" value="<?php $_REQUEST['weight']?>"/>
   ...

然后,当您通过表单sumbit调用此页面时,它将在字段中显示相同的值。

UPD:

JavaScript简化解决方案:

HTML:

Weight: <input type="text" id="weight" />
Calories: <input type="text" id="calories" />
Result:  <span id="result"></span>
<a href="javascript:calculate1()">Calulate formula 1</a> 
<a href="javascript:calculate2()">Calulate formula 2</a>

js part:

function calculate1(){
  var w = document.getElementById('weight');
  var cal = document.getElementById('calories');  
  document.getElementById('result').innerHTML = w / cal;
}

function calculate2(){
  var w = document.getElementById('weight');
  var cal = document.getElementById('calories');  
  document.getElementById('result').innerHTML = cal / w;
}

当然你可以设计样式&lt; a&gt;按钮。