money amount
This commit is contained in:
parent
6aede74cbc
commit
adb393f740
3 changed files with 36 additions and 1 deletions
|
|
@ -28,6 +28,18 @@ h1 {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.money-input {
|
||||||
|
text-align: end;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input-is-valid {
|
||||||
|
border: 1px solid green;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input-is-invalid {
|
||||||
|
border: 2px solid red;
|
||||||
|
}
|
||||||
|
|
||||||
.button-group button {
|
.button-group button {
|
||||||
border: 0;
|
border: 0;
|
||||||
padding: 1em;
|
padding: 1em;
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,8 @@ const buttonDecreasePremium = document.getElementById(
|
||||||
'button-decrease-premium'
|
'button-decrease-premium'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const eurAmountInput = document.getElementById('input-eur-amount');
|
||||||
|
|
||||||
function toggleCreateOfferControls() {
|
function toggleCreateOfferControls() {
|
||||||
createOfferControls.style.display =
|
createOfferControls.style.display =
|
||||||
createOfferControls.style.display === 'block' ? 'none' : 'block';
|
createOfferControls.style.display === 'block' ? 'none' : 'block';
|
||||||
|
|
@ -51,6 +53,23 @@ function toggleBuyOrSellButtonGroup() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function validateAndFormatEurAmountInput() {
|
||||||
|
const eurAmountFieldValue = eurAmountInput.value;
|
||||||
|
const regularExpression = /€?\s?(\d+[\.,]?\d*)\s?€?/;
|
||||||
|
const matchResult = eurAmountFieldValue.match(regularExpression);
|
||||||
|
|
||||||
|
eurAmountInput.classList.remove('input-is-valid', 'input-is-invalid');
|
||||||
|
if (matchResult) {
|
||||||
|
const numberString = matchResult[1];
|
||||||
|
const cleanInputNumber = parseInt(numberString);
|
||||||
|
eurAmountInput.value = `${cleanInputNumber} €`;
|
||||||
|
eurAmountInput.classList.add('input-is-valid');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
eurAmountInput.classList.add('input-is-invalid');
|
||||||
|
}
|
||||||
|
|
||||||
buyOrSellButtons.forEach((button) => {
|
buyOrSellButtons.forEach((button) => {
|
||||||
button.addEventListener('click', () => {
|
button.addEventListener('click', () => {
|
||||||
toggleBuyOrSellButtonGroup();
|
toggleBuyOrSellButtonGroup();
|
||||||
|
|
@ -64,3 +83,7 @@ buttonIncreasePremium.addEventListener('click', () => {
|
||||||
buttonDecreasePremium.addEventListener('click', () => {
|
buttonDecreasePremium.addEventListener('click', () => {
|
||||||
modifyPremiumValue(-1);
|
modifyPremiumValue(-1);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
eurAmountInput.addEventListener('blur', () => {
|
||||||
|
validateAndFormatEurAmountInput();
|
||||||
|
});
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div id="amount-area">
|
<div id="amount-area">
|
||||||
<p>¿Cuánto?</p>
|
<p>¿Cuánto?</p>
|
||||||
<input type="number">
|
<input id="input-eur-amount" type="text" required class="money-input">
|
||||||
</div>
|
</div>
|
||||||
<div id="bitcoin-methods-area">
|
<div id="bitcoin-methods-area">
|
||||||
<p>¿Cómo se mueve el Bitcoin?</p>
|
<p>¿Cómo se mueve el Bitcoin?</p>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue