Form submission dependent on option selected

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • massimassi
    New Member
    • Mar 2013
    • 3

    Form submission dependent on option selected

    Hello,
    I need to change the "name" part of the <input> of a form accordingly to an option selected from a dropdown.
    Please refer to the code to understand what I mean.
    The form is something like this, with a submit onchange
    Code:
    <form id="myform" method="a_method" action="an_action">
    	<select class="field" name="name_of_select" onchange="$('myform').submit();"
    	<option value="1">choise1</option>
    	<option value="2">choise2</option>
    	</select>
    
    <input type="hidden" name="this_name_changes_when_option_selected_changes">
    </form>
    I'm not a programmer but I'm willing to learn as I need to make it work, but please explain things to me in a human understandable way:)
    Thanks a lot.
    mass
  • Rabbit
    Recognized Expert MVP
    • Jan 2007
    • 12517

    #2
    I don't understand why you need to change the name of the input when you're passing the value of the select anyways?

    Comment

    • massimassi
      New Member
      • Mar 2013
      • 3

      #3
      Hello.
      I should'have explained better my goal but I didn't want to make the question too long.
      Anyways..

      Jessica, on 03 Mar 2013 - 00:15, said:
      I think you need to explain what your overall goal is, because that sounds like a really weird thing to do.

      Hello.
      I have a CMS that can be customized throught template changes, the form I want to modify in fact is part of a template (smarty).

      The "Original" code is something like this:
      Code:
      <form action="" id="zip" method="post">
              <select class="field" name="set_zip_filter_distance" onchange="$('zip').submit()">
                  <option value="">Distance</option>
                  <option value="1">1km</option>
                  <option value="5">5km</option>
                  <option value="10">10km</option>
                  <option value="15">15km</option>
      .....and so on.....
              </select>
              <input type="hidden" name="submit_zip_filter"/>
      
              <!-- BUTTON1---<input type="submit" name="submit_zip_filter" value="submit" class="button" />
               BUTTON2---<input type="submit" name="clear_zip_filter" value="reset" class="button" />-->
      </form>
      The parts in bold are the ones I added.
      At the bottom of it you will notice 2 lines of code I commented out. They were 2 submit button I'm trying to get rid of, and that's the reason why I want to change the "name part" of the <input> line to change in accordance to the option selected.
      The code above works but it only submits, I wanto to add 1 more option (<option value="RESET">R ESET</option>) and cause the form to submit as if it was BUTTON2 if "RESET" is selected, and like BUTTON1 if another option is selected.

      So far I tried among other things, this code
      Code:
               <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
      <script type="text/javascript">
      
          if $('#set_zip_filter_distance').change(function(){
          $('#submit_line').attr('name', 'clear_zip_filter');
          this.form.submit();
      }
          else
          {
          this.form.submit();
          });
          </script>
      ...but it doesn't work:(

      Maybe someone experienced can help me?
      Thanks a lot.
      mass

      Comment

      • Rabbit
        Recognized Expert MVP
        • Jan 2007
        • 12517

        #4
        I still don't see the need to change the name of the hidden input. Whatever your end goal is, you can accomplish it without having to do this. But you haven't explained your end goal so I can't offer any advice on that.

        Comment

        • massimassi
          New Member
          • Mar 2013
          • 3

          #5
          My goal is to get rid of the 2 SUBMIT BUTTONS (those that are at the bottom of the script) and submit the form automatically on change of option selected.

          This is what the code looks like without my modifications:

          Code:
          <form action="" method="post">
                  <select class="field" name="set_zip_filter_distance">
                      <option value="">Distance</option>
                      <option value="1">1km</option>
                      <option value="5">5km</option>
                      <option value="10">10km</option>
                      <option value="15">15km</option>
          .....and so on.....
                  </select>
                  <input type="submit" name="submit_zip_filter" value="submit" class="button" />
                  <input type="submit" name="clear_zip_filter" value="reset" class="button" />
          </form>
          Numerical options should "emulate" BUTTON NUMBER1, then I want to add a new option (something like <option value="RESET">R ESET</option>) and use it to emulate the BUTTON NUMBER 2.
          Thanks.
          mass

          Comment

          • Rabbit
            Recognized Expert MVP
            • Jan 2007
            • 12517

            #6
            You can get rid of he buttons without having to change the name of an input.

            You still haven't explained your end goal, you keep explaining what you're trying to do to reach the goal. But we still have no idea what that goal is.

            Comment

            Working...