javascript - 通过 Javascript 验证 PHP 变量

标签 javascript php html sql variables

我希望将一个变量从我的 PHP 代码传递到我的 Javascript 代码以验证一个数字。我正在创建一个购物车场景,其中我有一个变量“in_stock”,它指定可用于产品的库存量。如果我输入的金额大于可用的“in_stock”,我需要抛出一个错误。这是我目前拥有的:

Java 脚本

   <script language="javascript">
  function numCheck() 
  {
        var enteredChar = document.getElementById('add_value').value;
        var stockavailable ="<?php echo $stock?>";

    //To check if a non-numerical value is entered
    if (isNaN(enteredChar)) 
    {
        alert("Not a Number!");
        return false;
    }
    //To check if the input is empty
    if (enteredChar=="")
    {
        alert("Empty!");
        return false;
    }
    //To check if the amount entered is not greater than the amount in stock
 if (enteredChar > stockavailable)
    {
        alert("Not enough in stock");
        return false;
    }

 }  
   </script>

这一切都是在我的 PHP 调用数据库并在屏幕上返回值时发生的。如下:

PHP

$product_id =(int)$_GET['product_id'];

$username = "potiro";
$password = "pcXZb(kL";
$hostname = "rerun";

//connection to the database
$dbhandle = mysql_connect($hostname, $username, $password)
 or die("Unable to connect to MySQL");


//select a database to work with
$selected = mysql_select_db("poti",$dbhandle)
  or die("Could not select examples");

//execute the SQL query and return records
$result = mysql_query("SELECT * FROM products where product_id=$product_id");

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></td></tr>';
  echo '<tr><td></td><td><input type="submit" value="Submit" onclick="return numCheck()"></td></tr>';
 }
echo "</table>"; 
echo "</form>";

mysql_close($dbhandle);
?>

最佳答案

将您的股票值(value)添加到隐藏的输入值 stock_value

 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>';

在 JavaScript 中

<script language="javascript">
  function numCheck() 
  {
        var enteredChar = document.getElementById('add_value').value;
        var stockavailable =document.getElementById('stock_value').value;

关于javascript - 通过 Javascript 验证 PHP 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29426582/

相关文章:

javascript - 在 DSpace 4.2 xmlui 中向 Discovery 侧边栏添加展开/折叠功能

javascript - 将 <%=[variable]=> 语法与 htmlWebpackPlugin 和 html-loader 一起使用

javascript - 我的图像无法正常工作

php - MySQL PHP CSV 文件导出

html - 我无法将鼠标悬停在下拉菜单上

javascript - Angular 中 .success() 或 .then() 哪个更好

php - 弄清楚加载了哪些文件以及加载顺序

php - 继承php中的属性

javascript - 图像未显示在移相器 3 中

javascript - Mouseenter 事件处理程序不适用于 li