Ciao a tutti,
ho un problema con un pulsante di ricerca che deve riempire una select con i risultati della ricerca.
<select class="inputbox" name="dest_id" id="dest_id" size="10">
<option value="38|content">primo risultato</option>
....
</select>

Con Firefox tutto ok ma con IE la select non viene viene riempita dalle varie option, perchè???

Questo è il pulsante di ricerca:

<input onclick="ajax_request('search');" value="cerca" type="button">

e questa la funzione ajax che viene chiamata:


function ajax_request(task) {
var url='<?php echo $mosConfig_live_site; ?>/administrator/index3.php?option=com_associations&task=' + task + '&no_html=1';
var form=document.adminForm;
switch(task){
case 'saveorder':
for(var i=0; i<form.elements.length;i++){
if(form.elements[i].name.substr(0,9)=='ordering['){
url+='&' + form.elements[i].name + '=' + form.elements[i].value;
}
}
break;
case 'delete':
case 'publish':
case 'unpublish':
url+='&id=' + arguments[1];
break;
case 'add':
var dest_id = $('dest_id').value.split('|');
var dest_component = dest_id[1];
dest_id = dest_id[0];
url+='&source_id=' + $('id').value + '&source_component=' + $('option').value.substr(4) + '&dest_id=' + dest_id + '&dest_component=' + dest_component + '&bidirectional=' + (($('bidirectional').checked)?1:0) + '&published=1&state=1';
break;
case 'search':
var resultsField = $('dest_id');
for(i=resultsField.length-1;i>=0;i--){
resultsField.remove(i);
}
url+='&dest_component=' + $('dest_component').value + '&keyword=' + $('keyword').value;
break;
case 'view':
url+='&source_id=' + $('id').value + '&source_component=' + $('option').value.substr(4);
$('relatedcontents').innerHTML = 'Loading...';
break;
}
new Ajax.Request(url, {
method: "get",
onSuccess: function(a) {
var json = a.responseText.evalJSON();
ajax_response(json);
},
onComplete: function(a){
if((task=='delete')||(task=='add')||(task=='saveor der')||(task=='publish')||(task=='unpublish')){
ajax_request('view');
}
},
onFailure: function(a) {
alert('error' + a.toSource());
},
});
}

/**Ajax Response (Called when ajax data has been retrieved)
*
* @param object data Javascript (JSON) data object received
* through ajax call
*/
function ajax_response(data) {

var form = document.associationsForm;
option=data.option;
task=data.task;
result=data.result;
if(task=='search'){
var resultsField = $('dest_id');
for(i=resultsField.length-1;i>=0;i--){
resultsField.remove(i);
}
if(!result.length){
resultsField.options[0]= new Option('<?php echo $adminLanguage->A_NO_RECORD_FOUND?>', '', false);
}else{
for(var i=0; i < result.length; i++) {
value=result[i].id;
value+="|" + result[i].component;
text=result[i].title;
resultsField.options[i]= new Option(text, value, false);
}
}
}
if(task=='view'){
//show associations
showRelated(result);
}
if(data.msg){
alert(data.msg);
}
}