проверка пустого поля javascript - PullRequest
0 голосов
/ 27 января 2012

Я использовал следующий код для отображения сведений о продукте на веб-сайте своей корзины для покупок.

<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 ]

1 голос
/ 27 января 2012
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.
   }
}

Отметьте это, вы можете найти какой-нибудь путь.

1 голос
/ 27 января 2012

У вас есть строковый литерал без кавычек:

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>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...