Javascript 除微调功能外的其他功能

Javascript 除微调功能外的其他功能,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我无法将变量从PHP传递到Javascript。它的工作原理如下 你输入你想要多少特定股票ie-10苹果,它用三种不同的方法验证它: 如果是一个数字 如果不是空的 如果有足够的存货 Javascript function numCheck() { var stockavailable =document.getElementById('stock_value').value; var enteredChar = document.getElemen

我无法将变量从PHP传递到Javascript。它的工作原理如下

你输入你想要多少特定股票ie-10苹果,它用三种不同的方法验证它:

  • 如果是一个数字
  • 如果不是空的
  • 如果有足够的存货
  • 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>";
    
    echo';
    回声';
    while($row=mysql\u fetch\u数组($result))
    {
    $stock=$row['in_stock'];
    $product_id=$row['product_id'];
    回显“产品ID”;
    回声“;
    echo$product\u id;
    回声“;
    呼应“产品名称”;
    回声“;
    echo$row['product_name'];
    回声“;
    呼应“单价”;
    回声“;
    echo美元股票;
    回声“;
    回波“单位数量”;
    回声“;
    echo$行[‘单位数量’];
    回声“;
    回声“库存”;
    回声“;
    echo$行[“库存”];
    回声“;
    附和“添加”;
    回声';
    }
    回声“;
    回声“;
    
    由于某种原因,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将向下舍入到最接近的整数。

    如果您查看输入类型=隐藏。。。value=“.trim($stock)。”,其中不允许输入2,3,4,5等?根据下面的评论,我相信“1”>“2”等。。因此它是不允许的。我有没有办法将它设置为动态值而不是10?ie数据库中可用的产品数量?@JavaHater
    parseInt(num,10)
    告诉您要在基数10中解析
    num
    。例如:
    parseInt('20',10)==20
    。例如,如果您想解析一个二进制数,可以使用base 2:
    parseInt('110',2)==6