Dio*_*Dio 1 javascript asp.net
我继承了一些我被告知要集成到我们的ASP.NET站点的JavaScript.我认为这将是直截了当的,但结果却是一个挑战.
代码看起来像这样:
<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>
Run Code Online (Sandbox Code Playgroud)
目标是从这个HTML控件获取值到ASP.NET,但是这个控件本身是由另一块javascript动态生成的,所以我不能只将它改为asp.net控件.我的解决方案是添加onchange ="updateQuestion();" 方法,这个JS将采用这些SELECT标记并将值放入ASP.NET控件:
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);
}
Run Code Online (Sandbox Code Playgroud)
如您所见,那是为了更新ASP.NET控件:
<asp:HiddenField ID="sQuestion" runat="server" value="" />
这看起来一切正常,但是当我在表单提交服务器端时,我看到sQuestion.Value仍然是="".
我不太确定我在这里做错了什么,任何输入都会非常感激.感谢您的时间.
关于ASP.net的Dunno,但我知道在浏览器DOM中,隐藏字段的值是全部小写的值,而不是Value.它是浏览器将提交的value属性,通过设置sQuestion.Value,您无法设置其提交的值.