0

我有一个我正在尝试解决的问题。

在此处输入图像描述

基本上,我有一个 jquery,当您单击“发送”按钮时,它会激活隐藏的表单。数量和“颜色”和“大小”(很抱歉在图中错过了这个)作为服务器和客户端验证。我的问题是,如果有人使用开发工具并将大小检查为愚蠢的东西<option value="0000000000000">size 10</option>,然后单击“发送”,隐藏的表单将可见,总价将为$NAN.

隐藏形式是什么

隐藏的表格基本上是一个总数,它只是向下滑动以向用户显示添加的内容和总价。这使用 jQuery 来发送 size+quantity 和price*quantity. 所以如果你把尺寸弄乱了。价格会上涨$NAN

我已经设法阻止它发送到购物车页面,现在我想停止显示隐藏的表单。

JQUERY 激活隐藏表单并添加到购物车。

$(document).ready(function(){
    $('#selected').hide();
    $('#button').click(function(){
        var pid = $('#pid').val();
        var len = $('#size option:selected').text();
        var Qty = $('#Qty').val();
        var qty = parseInt($('#Qty').val());
        var price =  parseFloat($('#pricetag').text().replace(/^\D/, ''), 10) * qty;
        price = '\u00A3' + price.toFixed(2);
        var category = $('#Category').val();

        if (!/^[1-9]\d?$/.test(Qty)){
            alert('Quantity should not be below 1 or null');
            return false; // validation for quanity
        }

        else {
        $('#sprice').text(price);
        $('#scategory').text(cat);
        $('#slength').text(len);
        $('#selected').slideDown();
        }// this activate the hidden form


       $.ajax({
            url: 'addtocart.php',
            type: 'POST',
            data: { pid:pid, 
            length:length, 
            Qty:Qty, 
            Category:Category },
            success: function(data)
            {

            }
        });
    });
});

请如果我没有意义,请告诉我。

4

1 回答 1

0

只需检查值的正确性。在这里我们使用价格,但它可以是你想要的任何东西。

Javascript:

if (!/^[1-9]\d?$/.test(Qty)){
            alert('Quantity should not be below 1 or null');
            return false; // validation for quanity
} else {
  if( price >100 && price < 0){ 
    //don't do anything
  } else {
    $('#sprice').text(price);
    $('#scategory').text(cat);
    $('#slength').text(len);
    $('#selected').slideDown();
}
于 2013-11-05T11:11:20.220 回答