Javascript 除微调功能外的其他功能
我无法将变量从PHP传递到Javascript。它的工作原理如下 你输入你想要多少特定股票ie-10苹果,它用三种不同的方法验证它: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
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数据库中可用的产品数量?@JavaHaterparseInt(num,10)
告诉您要在基数10中解析num
。例如:parseInt('20',10)==20
。例如,如果您想解析一个二进制数,可以使用base 2:parseInt('110',2)==6