Math.round()不能在我的JavaScript中工作?
对于PHP和JavaScript来说非常新颖。我试图将我从php获得的值舍入并将该值存储在JavaScript变量中,并将其显示在文本输入中。Math.round()不能在我的JavaScript中工作?
下面是我的代码:>
这是我order_stack.php
文件
<div class="order Page">
<h1>Order Entry</h1>
<form name="orderEntry" action="process_stack.php" method="post" >
<table>
<tr>
<th>
<label for="QUNTY">Quantity: </label>
</th>
<td>
<input name="quantity" type="text" id="QUNTY">
</td>
</tr>
<tr>
<th>
<label for="APW">Approx. PCS Weight: </label>
</th>
<td>
<input name="approxPcsWeight" type="text" id="APW">
</td>
</tr>
</table>
<input type="submit" value="Submit">
</form>
</div>
这是我process_stack.php
文件
<?php
$quantity = $_POST["quantity"];
$ApxPCW = $_POST["approxPcsWeight"];
$quantity1 = $_REQUEST["quantity"];
$ApxPCW1 = $_REQUEST["approxPcsWeight"];
$knittingLT = ($quantity1 * $ApxPCW1)/200;
?>
<fieldset class="new">
<legend>Entry Tracking Details</legend>
<p>
<table>
<tr>
<th>
<label for ="QTY">Quantity: </label>
</th>
<td>
<input name="quantity" type="text" readonly="readonly" id ="QTY" value=<?php echo $quantity?>>
</td>
</tr>
<tr>
<th>
<label for ="APW">Approximate PCS Weight: </label>
</th>
<td>
<input name="Approx_PCS_weight" type="text" readonly="readonly" id="APW" value=<?php echo $ApxPCW?>>
</td>
</tr>
<tr>
<th>
<label for = "KLT">Knitting Lead Time: </label>
</th>
<td>
<input name="Knitting_Lead_time" type="text" id ="KLT" >
<script>
var data = "<?php echo $knittingLT; ?>";
var roundedData = Math.round('data');
document.getElementById('KLT').value = roundedData;
</script>
</td>
</tr>
</table>
</p>
</fieldset>
什么我这里是干什么的,我乘两个Quantity
和Approx. PCS Weight
并将得到的值除以200.然后我将该值存储在$knittingLT
中。
现在process_stack.php,我要更新的Knitting Lead Time
(这是一个JS变量)通过取$knittingLT
(这是一个PHP变量)和舍入数据并将其存储在Knitting Lead Time
。
当我运行这些文件时,Knitting Lead Time
字段为空。
我对待这个问题的方法是错误的吗?
请帮我解决这个问题。
谢谢。
我想问题是,你正试图围绕字符串文字“数据”。
而不是
var roundedData = Math.round('data');
写
var roundedData = Math.round(data);
谢谢:) @ l-x –
你四舍五入字'data'
的字符串。
而不是Math.round('data');
使用Math.round(data);
。
此外,您通过将它放在引号之间来使PHP结果成为字符串。尽管您可以在字符串上使用Math.round
,但最好将其设置为一个数字以避免混淆。
20 == '20' // true
20 === '20' // false
尝试:
var data = <?php echo $knittingLT; ?>;
<script>
var data = <?php echo $knittingLT; ?>;
var roundedData = Math.round(data);
document.getElementById('KLT').value = roundedData;
</script>
谢谢@Randy,快速回复。它的工作完美现在:) –
变化Math.round('data');
到Math.round(data);
Math.round()
想到许多不是一个字符串。
谢谢@John Rey M. Baylen –
试试这个
var roundedData = Math.round(data); //edited this line 'data' to data
document.getElementById('KLT').value = roundedData;
谢谢@Prasanth –
使用'数学。(数据);''而不是'Math.round('data');' –
是的,这解决了我的问题,感谢您的快速响应! @AlexSlipknot –