【问题标题】:javascript empty field validationjavascript空字段验证
【发布时间】:2012-02-20 05:35:28
【问题描述】:

我已使用以下代码在我的购物车网站中显示产品详细信息。

<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);
}


}

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

【问题讨论】:

  • 您可以直接使用if (!enteredqty),尽管这可能不是您问题的答案。添加alert(enteredqty) 以确保获取该值。还要检查您的控制台是否有任何抛出的 javascript 错误。

标签: php javascript mysql html validation


【解决方案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>

【讨论】:

    【解决方案2】:
    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.
       }
    }
    

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

    【讨论】:

      猜你喜欢
      • 2011-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-15
      • 2020-01-16
      • 2022-01-24
      • 1970-01-01
      • 2019-01-07
      相关资源
      最近更新 更多