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.
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();
});
The easiest thing to do would be to insert the elements with the disabled
attribute.
<input type="hidden" name="not_gonna_submit" disabled="disabled" value="invisible" />
This way you can still access them as children of the form.
Disabled fields have the downside that the user can't interact with them at all- so if you have a disabled
text field, the user can't select the text. If you have a disabled
checkbox, the user can't change its state.
You could also write some javascript to fire on form submission to remove the fields you don't want to submit.
Simple try to remove name attribute from input element.
So it has to look like
<input type="checkbox" checked="" id="class_box_2" value="2">