除修剪外的其他功能

Other functions to use than trim

本文关键字:其他 功能 修剪      更新时间:2023-09-26

我在将变量从PHP传递到Javascript时遇到问题。它的工作原理如下

你输入你想要的特定库存量,即10个苹果,它会根据三种不同的方法进行验证:

  1. 如果是一个数字
  2. 如果不是空的
  3. 如果有足够的库存

Javascript

   function numCheck() 
    {
        var stockavailable =document.getElementById('stock_value').value;
        var enteredChar = document.getElementById('add_value').value;
        if (isNaN(enteredChar))
        {
            alert("Not a Number!");
            return false;
        }
        if (enteredChar=="")
        {
            alert("Empty!");
            return false;
        }
        if (enteredChar > stockavailable)
        {   
            alert("not enough stock");
            return false;
        }   
    }

PHP

echo '<form name="form1">';
echo '<table class="Grocery-table">'; 
while($row = mysql_fetch_array($result))
{
    $stock =$row['in_stock'];
    $product_id = $row['product_id'];
   echo "<tr><td><b>Product ID</b></td>"; 
   echo "<td>";     
   echo $product_id;
   echo "</td></tr>";
   echo "<tr><td><b>Product Name</b></td>";
   echo "<td>";
   echo $row['product_name'];
   echo "</td></tr>"; 
   echo "<tr><td><b>Unit Price</b></td>";
   echo "<td>";
   echo $stock;
   echo "</td></tr>"; 
   echo "<tr><td><b>Unit Quantity</b></td>";
   echo "<td>";
   echo $row['unit_quantity'];
   echo "</td></tr>"; 
   echo "<tr><td><b>In Stock</b></td>";
   echo "<td>";
   echo $row['in_stock'];
   echo "</td></tr>";
   echo '<tr><td><b>Add</b></td><td><Input type="text" id="add_value" name="cart"></input><Input type="hidden" id="stock_value" name="stock_value" value ="'.trim($stock).'"></input></td></tr>';
 echo '<tr><td></td><td><input type="submit" value="Submit" onclick="return numCheck()"></td></tr>';
    }
  echo "</table>"; 
  echo "</form>";

由于某些原因,trim函数不允许我输入不同优势的值。例如,如果库存是1200-我只能输入以1开头的值,而不是2,3,4,5等。

"2" > "10",但2 < 10。看到这里的问题了吗?

您需要将输入字段中的值强制转换为数字,因为默认的.value将返回一个字符串:

var stockavailable = parseInt(document.getElementById('stock_value').value, 10);
var enteredChar = parseInt(document.getElementById('add_value').value, 10);

您可以对整数使用parseInt(num, 10),对浮点使用parseFloat(num),两者都将返回一个双浮点,但parseInt将四舍五入到最接近的整数。