Hi, I have a form with some inputfields and a dropdownlistbox named <b>editField</b>. When the user focus an inputfield the dropdownlistbox must change showing the name of the field selected.
So, I have use the following technique to capture the OnFocus event:
<i><SCRIPT>
function selectFieldForEdit(field) {
document.getElementById('editFieldKey').value=field.name;
}
</SCRIPT>
<%
data rep_string type string.
rep_string = `<input onFocus="javascript:selectFieldForEdit(this);"`.
%>
<bsp:findAndReplace find = "<input" replace = "<%= rep_string %>" >
<htmlb:inputField id="Scons" value="<%= Scons %>" />
</bsp:findAndReplace></i>
With the script function <b>selectFieldForEdit(field)</b> I am changing the value of the selected item in the combo box but I then whant to trigger the "selected" event.
Can anyone give me an idea of how to continue this script?
Thanks
Ariel
Message was edited by: Ariel Ferreiro
Hello Ariel,
that quite tricks. i have implemented something quite similiar:
Two Listboxes: when the user selects a value from the first, the values of the second one changes.
Look at the following code (runable):
<html>
<head>
<script language="JavaScript" TYPE="text/javascript">
var store = new Array();
store['010'] = new Array(
'','*',
'TI (Technical Information)','010',
'TD (Technical Datasheet E-direct)','014',
'AI (Application Information)','020',
'BA/KA (Operating Instruction)','030',
'UA (Conversion Intruction)','050',
'EA (Mounting Instruction)','060',
'XA (Ex Safety Instructions)','070',
'ZE (Certificate)','080',
'ZD (Certificate FM/CSA)','090',
'SF (Service Info)','100',
'SH (Service Manual)','110',
'SD (Special Documentation)','120',
'GI (Basic Information)','130',
'PL (Price List)','140',
'SU (Seminar Documentation)','150',
'MA (Measurement+Automation)','160',
'PG (Product Group)','170',
'PK (Practical know-how)','180',
'SI (System Information)','190',
'SP (Special Promotion)','200',
'CM (Customer Magazine)','210',
'SM (Staff Magazine)','220',
'PU (Publications)','230',
'NL (Newsletters)','240',
'PA (Process Automation)','250',
'FI (Field Instrumentation)','260',
'SO (Industry Solutions)','270',
'FA (Fields of Activities)','280',
'CP (Competence Brochure)','290',
'CS (Case Studies)','300',
'IN (Innovations)','310',
'SP (System Partner)','330',
'EC (Endress+Hauser Catalogues)','340',
'MA (Measurement+Automation)','350',
'PG (Product Group)','360',
'PK (Practical know-how)','370',
'SI (System Information)','380',
'SP (Special Promotion)','390',
'CH (Changes)','400'
);
store['020'] = new Array(
'','*',
'Configuration Software','010',
'Device Drivers','020',
'Programmes','030',
'Updates','040',
'User Tools','050'
);
store['030'] = new Array(
'Picture','010',
'Animation','020',
'Video','030',
'Sound','040',
'Graphic (Vector) / CAD','050'
);
function showVersion(content_type,type)
{
switch (content_type)
{
case ' ':
break
case '010':
document.getElementById("type").style.display = "block";
document.getElementById("types").style.display = "block";
populate(type);
break
case '020':
document.getElementById("type").style.display = "block";
document.getElementById("types").style.display = "block";
populate(type);
break
case '030':
document.getElementById("type").style.display = "block";
document.getElementById("types").style.display = "block";
populate(type);
break
default:
document.getElementById("type").style.display = "none";
document.getElementById("types").style.display = "none";
}
}
function populate(type)
{
var box = document.forms['search'].content_type;
var number = box.options[box.selectedIndex].value;
if (!number) return;
var list = store[number];
var box2 = document.forms['search'].type;
box2.options.length = 0;
for(i=0;i<list.length;i+=2)
{
box2.options[i/2] = new Option(list<i>,list[i+1]);
if(box2.options[i/2].value == type){
box2.options[i/2].selected = true;
}else{
}
}
}
</script>
</head>
<body method="post">
search.htm" method="post" name="search">
<select name="content_type" class="single_select" onchange="showVersion(this.value,'')">
<option value=" " style="font-style:italic"></option>
<option value="010" >Documentation</option>
<option value="020" >Software</option>
<option value="030" >Multimedia</option>
</select>
<div id="types" style="display:none">
<select name="type" id="type" class="single_select">
<option value=""></option>
</select>
</div>
</form>
</body>
</html>
Best regards,
Stefan
Upon focus on input field you are changing the selected value in the dropdownlistbox, this should have triggered the onSelect or onClientSelect of dropdownlistbox if you have maintained the onSelect or onClientSelect properties of <htmlb:dropdownListBox.
Have you maintained those properties for <htmlb:dropdownListBox and still the event is not triggered?
Regards
Raja
Add a comment