View Single Post
Join Date: Aug 2008
Posts: 954
Reputation: essential will become famous soon enough essential will become famous soon enough 
Solved Threads: 131
Featured Poster
essential's Avatar
essential essential is offline Offline
Posting Shark

Re: Return value based upon visibility of form field?

 
0
  #3
Nov 18th, 2008
A quick throw over this 1. Hope it will help you all the way...

  1. <html>
  2. <head>
  3. <title><!--Sample--></title>
  4. <style type="text/css">
  5. <!--
  6.  
  7. body {
  8. font-family: Arial, Verdana;
  9. font-size: 10pt;
  10. color: #696969;
  11. text-align: left;
  12. }
  13. form span {
  14. display: block;
  15. margin: 25px 0 10px 5px;
  16. font: 700 18px Verdana, Helvetica, Arial, sans-serif;
  17. }
  18. form label {
  19. font: bold 12px Arial;
  20. color: #006;
  21. margin: 5px;
  22. }
  23.  
  24. -->
  25. </style>
  26. <script type="text/javascript">
  27. <!--
  28. var onlyDigits = /^\d{0,3}$/;
  29.  
  30. function price( e )
  31. {
  32. e = e ? e : window.event;
  33. t = e.target ? e.target : e.srcElement;
  34. var showPrice = document.getElementsByTagName('label');
  35. tag = document.frm1;
  36. if ( t.name && t.name == 'valueOfA' ) {
  37. if (tag.valueOfA.checked) {
  38. showPrice[0].innerText = '$' + tag.valueOfA.value;
  39. }
  40. else if (!tag.valueOfA.checked) {
  41. showPrice[0].innerText = 'Item A';
  42. }
  43. }
  44. if (t.name && t.name == 'valueOfB') {
  45. if (tag.valueOfB.checked) {
  46. showPrice[1].innerText = '$' + tag.valueOfB.value; }
  47. else if (!tag.valueOfB.checked) {
  48. showPrice[1].innerText = 'Item B';
  49. }
  50. }
  51. }
  52.  
  53. function addEvents() {
  54. inp = document.getElementsByTagName('input');
  55. for ( var x = 0; x <= 1; x++ ) {
  56. if (document.addEventListener)
  57. inp[x].addEventListener('click',price,false);
  58. else if (document.attachEvent)
  59. inp[x].attachEvent('onclick',price);
  60. else document.onclick = price;
  61. }
  62. }
  63. function validate(thisValue)
  64. {
  65. if ( !onlyDigits.test(thisValue) ) { alert('Only digits from 0-9 and not more than two digits are allowed on this field!'); return false; }
  66. else {
  67. var valA = parseFloat(document.frm1.valueOfA.value) * (document.frm1.a.value*1);
  68. var valB = parseFloat(document.frm1.valueOfB.value) * (document.frm1.b.value*1);
  69. document.frm1.at.value = valA;
  70. document.frm1.bt.value = valB;
  71. document.frm1.total.value = '$' + (valA + valB);
  72. }
  73. }
  74. if (window.addEventListener)
  75. window.addEventListener('load',addEvents,false);
  76. else if (window.attachEvent)
  77. window.attachEvent('onload',addEvents);
  78. else if (document.getElementById)
  79.  
  80. window.onload = addEvents;
  81. //-->
  82. </script>
  83. </head>
  84. <body>
  85. <form name="frm1" action="javascript:void(0);" onSubmit="return false;">
  86. <span>Product Line</span>
  87. <label>Item A</label> <input type="checkbox" value="1.50" name="valueOfA" /> <label>Item B</label> <input type="checkbox" value="2.00" name="valueOfB" />
  88. <span>Volume Request</span>
  89. <label>A</label>
  90. <input type="text" value="" name="a" size="3" onkeyup="validate(this.value);if (!frm1.valueOfA.checked){alert('You must check (item A) before you can access this field');this.blur();};" /> <label>B</label> <input type="text" value="" name="b" size="3" onkeyup="validate(this.value);if (!frm1.valueOfB.checked){alert('You must check (item B) before you can access this field');this.blur();};" /> <span>Amount Per Item</span>
  91. <label>A</label>
  92. <input type="text" value="" name="at" size="6" /> <label>B</label> <input type="text" value="" name="bt" size="6" />
  93. <span>Overall Amount</span>
  94. <label>A + B</label> <input type="text" name="total" value="$0.00" size="6" />
  95. </form>
  96. </body>
  97. </html>
Reply With Quote