Search code examples
javascripthtmlformsuserscripts

Stop an input field in a form from being submitted


I'm writing some javascript (a greasemonkey/userscript) that will insert some input fields into a form on a website.

The thing is, I don't want those input fields to affect the form in any way, I don't want them to be submitted when the form is submitted, I only want my javascript to have access to their values.

Is there some way I could add some input fields into the middle of a form and not have them submitted when the form is submitted?

Obviously the ideal thing would be for the input fields to not be in the form element, but I want the layout of my resulting page to have my inserted input fields appear between elements of the original form.


Solution

  • You could insert input fields without "name" attribute:

    <input type="text" id="in-between" />
    

    Or you could simply remove them once the form is submitted (in jQuery):

    $("form").submit(function() {
       $(this).children('#in-between').remove();
    });