我使用以下代码在我的购物车网站上显示产品详情。
<div id="inner_right">
<form name="product_form" id="product_form" method="post" onsubmit="form_quantity(<?php echo $productid; ?>);">
<input type="hidden" name="hidden_<?php echo $productid; ?>" id="hidden_<?php echo $productid; ?>" />
<h1>Product Details of <?php echo $fetchproductname; ?></h1>
<div> </div>
<div id="product_left"><img src="<?php echo $path.$fetchimage; ?>" alt="" width="400" height="300" /></div>
<div id="product_right">
<div><strong>Category Name:</strong> <?php echo $categoryname; ?></div>
<p><strong>Product Number:</strong> <?php echo $fetchproductno; ?></p>
<p><strong>Price:</strong> <span class="price">$<?php echo $fetchproductprice; ?></span></p>
<p><strong>Stock:</strong> <?php echo $fetchproductstock; ?> nos</p>
<?php
$select_quantity = "SELECT * FROM `tbl_cart` WHERE `intProductid` = '".$productid."' AND `intSessionid` = '".$globalsessionid."'";
$select_quantity_res = mysql_query($select_quantity);
$sel_qty_num = mysql_num_rows($select_quantity_res);
$fetch_quantity = mysql_fetch_array($select_quantity_res);
$fetch_proid = $fetch_quantity['intProductid'];
$fetch_exqty = $fetch_quantity['intQuantity'];
?>
<p><strong>Quantity:</strong> <input name="quantity_<?php echo $productid; ?>" id="quantity_<?php echo $productid; ?>" value="<?php echo $fetch_exqty; ?>" class="quantity" type="text" /></p>
<div class="submit">
<button id="registerButton" type="submit">Add To Cart</button>
</div>
<input type="hidden" name="cart" id="cart" value="<?php echo $productid; ?>" />
</div>
<div class="clear"> </div>
</form>
</div>
我的页面中有一个数量字段和添加到购物车按钮。如果买方单击添加到购物车按钮而未输入数量字段,则应弹出错误。为此我使用了以下javascript代码。
function form_quantity(val){
var enteredqty = document.getElementById('quantity_'+val).value;
if(enteredqty =='')
{
alert(Please enter quantity);
}
}
但它不起作用。我无法追踪错误。我该如何更正我的代码?
答案 0 :(得分:1)
你有一个没有引号的字符串文字:
alert(Please enter quantity);
你需要说:
alert("Please enter quantity");
// OR
alert('Please enter quantity');
(当你说你无法追踪你的错误时,你实际尝试了什么?如果使用Chrome它有内置的调试工具,或者对于Firefox你可以下载Firebug,这些工具可以很容易地告诉你类似的错误此。)
要抢占您的下一个问题,一旦您修复了上述错误,您就会发现虽然警报显示表单仍然提交。您需要更新onclick
以返回form_quantity()
函数的结果,并在您不希望提交继续时返回false
(即,当出现验证错误时) :
<form name="product_form" id="product_form" method="post"
onsubmit="return form_quantity(<?php echo $productid; ?>);"></form>
<script>
function form_quantity(val){
var enteredqty = document.getElementById('quantity_'+val).value;
if(enteredqty === '') {
alert('Please enter quantity');
return false;
}
}
</script>
答案 1 :(得分:1)
function form_quantity(val){
var enteredqty = document.getElementById('quantity_'+val).value;
alert(enteredqty);// check the givel value is right.
if(enteredqty ==''){
alert("Please enter quantity");// double qute added.
}
}
检查一下,你可能会找到一些路径。