2017-10-11 141 views
0

对于我正在处理的项目,我在后台计算运行,计算出我输入的两个值。然后它获取数字的结果并通过HTML中的输出标签显示它。我想知道是否可以提交输出值并将其与表单的其余部分一起发布?将Html输出标记发布到mysql

<form action="test.php" method="post" oninput=" totalamount.value = Math.round(adult.value * 10) + Math.round(student.value * 7); changedue.value = Math.round(moneygiven.value - totalamount.value);"> 
    <fieldset> 
     <select name="showtime" required> 
      <option value="" disabled="disabled" selected="selected">Performance</option> 
      <option value='1' type="number" >Show 1 </option> 
      <option value='2' type="number" >Show 2 </option> 
      <option value='3' type="number" >Show 3 </option> 
     </select> 
     <h4>Ammount of Adults</h4> 
     <input name="adult" id="adult" type="number" required> 
     <br /> 
     <h4>Ammount of Students</h4> 
     <input name="student" type="number" required> 
     <br /> 
     <h4>Money Owed</h4> 
     <output name="totalamount" for="adult student"></output> 
     <br /> 
     <h4>Money Given</h4> 
     <input name="moneygiven" type="number" required> 
     <h4>Change due</h4> 
     <output name="changedue" for="totalamount moneygiven"></output> 
     <input type="submit" /> 
    </fieldset> 
</form> 

我该怎么做?或者是否有任何人知道的解决方法?

回答

1

如果您想要将该值作为表单的一部分提交,那么它必须是<input>标记。考虑给它readonly="1"属性,使其不可编辑:

<input name="example" value="123" readonly="1">

作为替代方案,您可以继续使用<output>标签,也值置为<input type="hidden">,使它的一部分形式但对用户不可见。

无论哪种方式,请确保用户不能通过将自己的值替换为输入字段而不是脚本计算的值来执行意外操作。

+0

这给我修好了。谢谢! –

0

要做到这一点,你将不得不存储在隐藏字段作为输出标签是不是一个表单元素
List of form elements

或者你也可以做的是强似计算值就可以计算出它在页面上在表单进一步处理的情况下,只需要通过计算所需的值

0

您可以使用Javascript将值存储在HTML标记中。

<form action = "test.php" method ="post" onsubmit="document.getElementById('xyz').value= myval1; document.getElementById('abc').value= myval2;"> <input type = "hidden" name="xyz" id="xyz" value =""> <input type = "hidden" name="abc" id="abc" value ="">

这样做将使“myval1”和“myval2”自动更改为每值那些隐藏字段的值。您也可以在表单提交中计算这些值。