Forum Moderators: open
I know I can get the values with something like:
var test_var = form.fieldname.value
But I am having forms created dynamically with various number of fields, field names, etc. and I'm hoping there is a way to use javascript to get a listing for both the actual field names and their corresponding values entered by the user.
Does anyone know if there is a way to get an array or something like this with both the field names and the corresponding values entered on the form?
<form id="myForm">
Firstname: <input name="fname" id="fname" type="text" value="Mickey" />
Lastname: <input name="lname" id="lname" type="text" value="Mouse" />
<input id="sub" type="button" value="Submit" />
</form>
<p>Get the name and value of all the elements in the form:<br />
<script type="text/javascript">
var x=document.getElementById("myForm");
for (var i=0;i<x.length;i++)
{
document.write(x.elements[i].id);
document.write(" --> ");
document.write(x.elements[i].value);
document.write("<br />");
document.write("<br />");
}
</script>
</p>
var extra = document.form1.Students.value;
I'm using that in my AJAX function to get the value of a list/menu called Students. Then the AJAX sends the value to a php file and the php file recreates the form and removes the value that they previously selected.
No page refresh has taken place since it was all AJAX. The user then selects another name from the list/menu and the function is called again but this time var extra is returning the old value and not the new one. I need some way of refreshing Students.value. I'm not having this problem in IE.