pbd22 said:
In my program, I have GMap logic that outputs location information to
a disabled input field (was previously a label). Then, when a
user clicks on a link (to start a new map), I want to save the
location
data to an array prior to server processing. So, onchange, save the
input field's value to array[last_click]. But, because this field is
hidden (or readonly) I am not sure how to go about this.
I don't see that you want to do anything onchange of the disabled
field. You seem to want to read it when the user clicks the link.
--
Yes, I think you are correct but I still seem to be getting in a bit
of a tail-spin. Per Thomas' suggestion, I have provided the core of my
code below.
The google maps javascript I have has a function, showPosition, that
gets called whenever the marker is moved and the coordinates
get written:
function showPosition(form, pos) {
var coords = document.getElementById('coords');
if (coords) coords.value = pos.toUrlValue();
}
I also have a file selector on the page. The user can select multiple
files for upload. The idea is that when a user clicks
on a file (in the queue) it activates the elements on the page
for associated input (such as Title). WHen a new file is clicked on,
the fields clear and allow for new information (or load the pre-
existing information from an array).
The logic works in all the fields (I removed all of them except the
Title input for clarity) except the file_location field due to its
disabled status. So, "onchange = function()" is not possible.
Lee - per your suggestion I have tried just leaving the raw code:
arrLocation[last_click] = file_location.value;
without the surrounding onchange logic. This produces odd results.
The array doesn't get populated until after several clicks, so, the
first attempts do not get recorded.
So, if anybody has an idea how I could successfully record the last
map value for a selected file and record it in the array
arrLocation[n] that would be very helpful.
Thank you!
function fileSelector( list_target, max ){
[SNIP]
/**
* Add a new file input element
**/
this.addfile = function( element ){
[SNIP]
};
/**
* Add a new row to the list of files
*/
this.addRow = function( element ){
// Title box
var arrTitle = new Array(max_count.length);
var title_box = document.getElementById('title');
// Marker Location
var file_location = document.getElementById('coords');
var arrLocation = new Array(max_count.length);
// Event handlers
var last_click;
new_link.onclick = function() {
title_box.value = "";
//file_location.value = ""; // REMOVE THIS
for(i=2;i<=max_count.length;i++) {
if(i == active) {
// Fill Pre-Existing Values
if(arrTitle
)
title_box.value = arrTitle;
if(arrLocation)
file_location.value = arrLocation;
title_box.onchange = function (){
arrTitle[last_click] = title_box.value;
}
//file_location.onchange = function(){
arrLocation[last_click] = file_location.value;
//}
last_click = i;
}
}
}
};
}