Hi All,
I am doing customization for mobile viewer. One task is accept client input data, then transfer to server side using mobileviewer.ajaxrequest, after processed in the server side then output data to client side to manipulate the map. Now I found the popup panel cannot accept data input. For example following code can render the input box, but you cannot enter any value if you use ipad, iphone:
onActivate:function() {
var popup = mobileViewer.getPopup();
popup.setContent('');
popup.setOwner(this);
popup.onCloseCallback = OpenLayers.Function.bind(this.deactivate, this);
// Set the title
popup.setTitle('Zoom To DLS');
// Create a table to store user input
this.table = mobileViewer.addElement(mobileViewer.getPopup().scrollPanelDiv, 'table');
this.table.className = 'dlstable';
this.addTable();
},
addTable: function() {
var tableRow1 = mobileViewer.addElement(this.table, 'tr');
var tableNameColumn1 = mobileViewer.addElement(tableRow1, 'td');
mobileViewer.addText(tableNameColumn1, 'SEC');
var tableNameColumn2 = mobileViewer.addElement(tableRow1, 'td');
mobileViewer.addText(tableNameColumn1, 'TWP');
var tableRow2 = mobileViewer.addElement(this.table, 'tr');
var tableNameColumn3 = mobileViewer.addElement(tableRow2, 'td');
var input1 = mobileViewer.addElement(tableNameColumn3, 'input');
input1.setAttribute('TYPE', 'TEXT');
var tableNameColumn4 = mobileViewer.addElement(tableRow2, 'td');
var input2 = mobileViewer.addElement(tableNameColumn4, 'input');
input2.setAttribute('TYPE', 'TEXT');
var tableRow5 = mobileViewer.addElement(this.table, 'tr');
var tableNameColumn12 = mobileViewer.addElement(tableRow5, 'td');
var input12 = mobileViewer.addElement(tableNameColumn12, 'input');
input12.setAttribute('TYPE', 'SUBMIT');
}
above input box will display and accept any data user input in desktop computer, but you cannot enter any values if you are using ipad. Luckily I just put the integer number which I can render some selection dropdown box to accept client input. But it's not a good way. Any suggestion?