javascript空字段验证

时间:2012-01-27 06:30:47

标签: php javascript mysql html validation

我使用以下代码在我的购物车网站上显示产品详情。

<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>&nbsp;</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">&nbsp;</div>

  </form>
</div>

我的页面中有一个数量字段和添加到购物车按钮。如果买方单击添加到购物车按钮而未输入数量字段,则应弹出错误。为此我使用了以下javascript代码。

function form_quantity(val){


var enteredqty = document.getElementById('quantity_'+val).value;
if(enteredqty =='')
{
alert(Please enter quantity);
}


}

但它不起作用。我无法追踪错误。我该如何更正我的代码?

2 个答案:

答案 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.
   }
}

检查一下,你可能会找到一些路径。