Reputation: 10252
I want to pass certain hidden parameters in a request when some conditions are met.
For example I want to pass these if this condition is true:
<script type="text/javascript">
function checkClosureLevel()
{
var openLevel = document.getElementById('openLevel');
var phyCompLevel = document.getElementById('phyCompLevel');
var finCompLevel = document.getElementById('finCompLevel');
if (openLevel.checked) {
//PASS HIDDEN FORM VARIABLES HERE AND SUBMIT FORM
}
}
</script>
<form action="process.det_details" method="post" name="detParameterForm">
<fieldset class="det">
<legend>Closure Level</legend>
<input type="checkbox" name="openLevel" >Open</input><br/>
<input type="checkbox" name="phyCompLevel" >Physically Complete</input>
<br/>
<input type="checkbox" name="finCompLevel" >Financially Complete</input>
</fieldset>
</form>
Upvotes: 11
Views: 65843
Reputation: 349262
The document.forms
object is a collection of all <form>
elements in the page. It has numeric indexes, and named items. The named items correspond to a name
attribute of each <form>
.
var theForm = document.forms['detParameterForm'];
To make appending data easier, you can create a function which adds data for a given form.
function addHidden(theForm, key, value) {
// Create a hidden input element, and append it to the form:
var input = document.createElement('input');
input.type = 'hidden';
input.name = key; // 'the key/name of the attribute/field that is sent to the server
input.value = value;
theForm.appendChild(input);
}
// Form reference:
var theForm = document.forms['detParameterForm'];
// Add data:
addHidden(theForm, 'key-one', 'value');
addHidden(theForm, 'another', 'meow');
addHidden(theForm, 'foobarz', 'baws');
// Submit the form:
theForm.submit();
Upvotes: 52