我想解决一个问题。
基本上我有一个jquery,当你点击“发送”按钮时它会激活隐藏的表单。作为服务器端和客户端验证的数量和“颜色”和“大小”(遗憾的是在图中忽略了这一点)。我的问题是,如果有人使用开发人员工具并将大小检查为<option value="0000000000000">size 10</option>
之类的愚蠢内容并点击“发送”,隐藏的表单将会显示,总价格将为$NAN
。
以隐藏形式出现的内容
隐藏的表单基本上只是向下滑动以向用户显示添加的内容和总价格。这使用jQuery发送大小+数量和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)
{
}
});
});
});
如果我没有意义,请告诉我。
答案 0 :(得分: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();
}