I inherited some JavaScript that I was told to integrate into our ASP.NET site. I thought this would be straightforward but it's turning out to be a bit of a challenge.
The code looks something like this:
<SELECT id="Question1" name="Question" onchange="updateQuestion();">
<OPTION value="notChosen">--Please Select One--</OPTION>
<OPTION value="in">India</OPTION>
<OPTION value="de">Germany</OPTION>
<OPTION value="fr">France</OPTION>
<OPTION value="us">United States</OPTION>
<OPTION value="ch">Switzerland</OPTION>
</SELECT>
The goal is to get the value from this HTML control into ASP.NET, however this control itself is being dynamically generated by another chunk of javascript, so I can't just change this to an asp.net control. My solution was to add the onchange="updateQuestion();" method, this JS will take these SELECT tags and place the values into an ASP.NET control:
function updateSecQ() {
var sQuestion = document.getElementById('<%=sQuestion.ClientID%>');
sQuestion.Value = "";
var questions = document.getElementsByName('Question');
for (question in questions) {
if (questions[question].value != null)
sQuestion.Value += questions[question].value + ",";
}
alert(sQuestion.Value);
}
As you can see, that's looking to update an ASP.NET control:
<asp:HiddenField ID="sQuestion" runat="server" value="" />
This appears to all work, however when I goto the server side on the form submit I see that sQuestion.Value is still = "".
I'm not quite sure what I've done wrong here, any input would be much appreciated. Thank you for your time.