Challenge 2: making elements on page work together

This commit is contained in:
Nanne Baars 2017-04-08 11:25:24 +02:00
parent fd2bdce270
commit 9b7396cb93
3 changed files with 29 additions and 13 deletions

View File

@ -44,9 +44,9 @@ public class ShopEndpoint {
public ShopEndpoint() { public ShopEndpoint() {
List<CheckoutCode> codes = Lists.newArrayList(); List<CheckoutCode> codes = Lists.newArrayList();
codes.add(new CheckoutCode("pre-order-webgoat", 25)); codes.add(new CheckoutCode("webgoat", 25));
codes.add(new CheckoutCode("pre-order-owasp", 25)); codes.add(new CheckoutCode("owasp", 25));
codes.add(new CheckoutCode("pre-order-webgoat-owasp", 50)); codes.add(new CheckoutCode("owasp-webgoat", 50));
this.checkoutCodes = new CheckoutCodes(codes); this.checkoutCodes = new CheckoutCodes(codes);
} }

View File

@ -66,7 +66,7 @@
action="/WebGoat/challenge/2" action="/WebGoat/challenge/2"
enctype="application/json;charset=UTF-8"> enctype="application/json;charset=UTF-8">
<div class="container"> <div class="container">
<input id="discount" type="hidden" value="0"/>
<div class="row"> <div class="row">
<div class="col-xs-3 item-photo"> <div class="col-xs-3 item-photo">
<img style="max-width:100%;" th:src="@{/images/samsung-black.jpg}"/> <img style="max-width:100%;" th:src="@{/images/samsung-black.jpg}"/>
@ -117,7 +117,7 @@
</h6> </h6>
<!-- <!--
Checkout code: pre-order-webgoat, pre-order-owasp, pre-order-webgoat-owasp Checkout code: webgoat, owasp, owasp-webgoat
--> -->
<input name="checkoutCode" class="checkoutCode" value=""/> <input name="checkoutCode" class="checkoutCode" value=""/>

View File

@ -14,35 +14,51 @@ $(document).ready(function () {
//-- Click on QUANTITY //-- Click on QUANTITY
$(".btn-minus").on("click", function () { $(".btn-minus").on("click", function () {
var now = $(".section > div > input").val(); var now = $(".quantity").val();
if ($.isNumeric(now)) { if ($.isNumeric(now)) {
if (parseInt(now) - 1 > 0) { if (parseInt(now) - 1 > 0) {
now--; now--;
} }
$(".quantity").val(now); $(".quantity").val(now);
$('#price').text(now * 899);
} else { } else {
$(".quantity").val("1"); $(".quantity").val("1");
$('#price').text(899);
} }
calculate();
}) })
$(".btn-plus").on("click", function () { $(".btn-plus").on("click", function () {
var now = $(".section > div > input").val(); var now = $(".quantity").val();
if ($.isNumeric(now)) { if ($.isNumeric(now)) {
$(".quantity").val(parseInt(now) + 1); $(".quantity").val(parseInt(now) + 1);
} else { } else {
$(".quantity").val("1"); $(".quantity").val("1");
} }
calculate();
}) })
$(".checkoutCode").on("blur", function () { $(".checkoutCode").on("blur", function () {
var checkoutCode = $(".checkoutCode").val(); var checkoutCode = $(".checkoutCode").val();
$.get("challenge-store/coupons/" + checkoutCode, function (result, status) { $.get("challenge-store/coupons/" + checkoutCode, function (result, status) {
var discount = result.discount; var discount = result.discount;
if (discount > 0) { if (discount > 0) {
var price = $('#price').val(); $('#discount').text(discount);
$('#price').text((899 - (899 * discount / 100)).toFixed(2)); calculate();
} else { } else {
$('#price').text(899); $('#discount').text(0);
calculate();
} }
}); });
}) })
function calculate() {
var d = $('#discount').text();
var price = $('#price').val();
var quantity = parseInt($(".quantity").val());
if (d > 0) {
$('#price').text((quantity * (899 - (899 * d / 100))).toFixed(2));
} else {
$('#price').text(quantity * 899);
}
}
}) })