Results 1 to 3 of 3

Thread: How to de-select radio button on running total form?

  1. #1
    Join Date
    Jun 2008
    Posts
    5
    Thanks
    1
    Thanked 0 Times in 0 Posts

    Default How to de-select radio button on running total form?

    Hi I am using this form but it won't de-select the radio buttons when making a new selection.
    Code:
    function calculateTotal(inputItem) {
      with (inputItem.form) {
        // Process each of the different input types in the form.
        if (inputItem.type == "radio") {   // Process radio buttons.
          // Subtract the previously selected radio button value from the total.
          calculatedTotal.value = eval(calculatedTotal.value) - eval(previouslySelectedRadioButton.value);
          // Save the current radio selection value.
          previouslySelectedRadioButton.value = eval(inputItem.value);
          // Add the current radio button selection value to the total.
          calculatedTotal.value = eval(calculatedTotal.value) + eval(inputItem.value);
        } else {   // Process check boxes.
          if (inputItem.checked == false) {   // Item was uncheck. Subtract item value from total.
              calculatedTotal.value = eval(calculatedTotal.value) - eval(inputItem.value);
          } else {   // Item was checked. Add the item value to the total.
              calculatedTotal.value = eval(calculatedTotal.value) + eval(inputItem.value);
          }
        }
    
        // Total value should never be less than 0.
        if (calculatedTotal.value < 0) {
          InitForm();
        }
    
        // Return total value.
        return(formatCurrency(calculatedTotal.value));
      }
    }
    
    // Format a value as currency.
    function formatCurrency(num) {
      num = num.toString().replace(/\$|\,/g,'');
      if(isNaN(num))
         num = "0";
      sign = (num == (num = Math.abs(num)));
      num = Math.floor(num*100+0.50000000001);
      cents = num%100;
      num = Math.floor(num/100).toString();
      if(cents<10)
          cents = "0" + cents;
      for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
          num = num.substring(0,num.length-(4*i+3)) + ',' + num.substring(num.length-(4*i+3));
      return (((sign)?'':'-') + '$' + num + '.' + cents);
    }
    
    // This function initialzes all the form elements to default values.
    function InitForm() {
    // Reset values on form.
      document.selectionForm.total.value='$0';
      document.selectionForm.calculatedTotal.value=0;
      document.selectionForm.previouslySelectedRadioButton.value=0;
    // Set all checkboxes and radio buttons on form to unchecked.
    for (i=0; i < document.selectionForm.elements.length; i++) {
    if (document.selectionForm.elements[i].type == 'checkbox' | document.selectionForm.elements[i].type == 'radio') {
        document.selectionForm.elements[i].checked = false;
        }
      }
    }
    It says previouslySelectedRadioButton.value = eval(inputItem.value);
    how do I change that it won't keep the previously selected radio button?

    Thanks not knowing anything about javascript I am learning php.

  2. #2
    Join Date
    Feb 2008
    Location
    Cebu City Philippines
    Posts
    1,160
    Thanks
    17
    Thanked 277 Times in 275 Posts

    Default

    Please show us the markups (HTML) that is related to this script.
    Learn how to code at 02geek

    The more you learn, the more you'll realize there's much more to learn
    Ray.ph!

  3. #3
    Join Date
    Sep 2005
    Location
    India
    Posts
    1,627
    Thanks
    6
    Thanked 107 Times in 107 Posts

    Default

    1. As rangana pointed out you should provide either the full page source or a link to your page.

    2. In your JavaScript code the eval function used in an incorrect manner (I think). eval is a core function of JavaScript which evaluates a string of JavaScript code and execute that. In your case I think you are looking for a method using which you can convert a string into numerical type which can be achieved using parseInt or parseFloat functions. It is better to avoid the usage of eval function unless it can't be avoided.

    3. Have a look at the way you can handle the radio button using the following link:
    Evaluates a string of JavaScript code

    http://www.quirksmode.org/js/forms.html#sradio

    Hope this helps.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •