我有一个文本输入字段,该字段由PHP在页面加载时填充。
<?php
$product_price = 10000;
?>
<input type='text' name='product_price' value='<?=$product_price?>' >
我有一些JavaScript代码检查产品价格是否低于12000。如果是,我将发出警报。
if(product_price <= 12000){
alert("product price must be above 12000");
}
警报运行正常,但是问题是,如果我将输入字段product_price的值更改为50000,它仍然提示我“产品价格必须高于12000”
为什么JS无法使用我在字段中输入的值?
为什么PHP的填充值没有变化?
最佳答案
输入框的内容是一个字符串。使用parseInt()
进行转换,然后检查它是否小于或等于12000。
if(parseInt(product_price, 10) <= 12000){
alert("product price must be above 12000");
}
这不会更新PHP变量,因为输入字段和变量之间没有绑定。 JavaScript在客户端上运行,而PHP代码在服务器上运行。如果希望从用户那里获取输入,则必须使用form submit GET/POST或Ajax for updating without reloading the page。