Advertisement
Guest User

d

a guest
Apr 24th, 2017
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.71 KB | None | 0 0
  1. <div class="dx-field-value">
  2. <input style="border: none; width: 20%" type="text" id="Num1" placeholder="0.00" onblur="recalculateSum();" onkeypress="return validateFloatKeyPress(this, event);" />
  3. <span>+</span>
  4. <input style="border: none; width: 20%" type="text" id="Num2" placeholder="0.00" onblur="recalculateSum();" onkeypress="return validateFloatKeyPress(this, event);" />
  5. <span>%</span>
  6. <span>=</span>
  7. <input placeholder="0.00" style="border: none; width: 20%" type="text" id="Sum" value="" />
  8.  
  9. <script>
  10.  
  11. function recalculateSum() {
  12. var num1 = parseFloat(document.getElementById("Num1").value);
  13. var num2 = parseFloat(document.getElementById("Num2").value);
  14. document.getElementById("Sum").value = (num1 + (num2 / 100 * num1)).toFixed(2);
  15. }
  16.  
  17. function validateFloatKeyPress(el, evt) {
  18. var charCode = (evt.which) ? evt.which : event.keyCode;
  19. var number = el.value.split('.');
  20. if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {
  21. return false;
  22. }
  23. //just one dot
  24. if (number.length > 1 && charCode == 46) {
  25. return false;
  26. }
  27. //get the carat position
  28. var caratPos = getSelectionStart(el);
  29. var dotPos = el.value.indexOf(".");
  30. if (caratPos > dotPos && dotPos > -1 && (number[1].length > 1)) {
  31. return false;
  32. }
  33. return true;
  34. }
  35.  
  36.  
  37. function getSelectionStart(o) {
  38. if (o.createTextRange) {
  39. var r = document.selection.createRange().duplicate()
  40. r.moveEnd('character', o.value.length)
  41. if (r.text == '') return o.value.length
  42. return o.value.lastIndexOf(r.text)
  43. } else return o.selectionStart
  44. }
  45.  
  46.  
  47. </script>
  48. </div>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement