包含一些MVC代码的页面:
<%=Html.SubmitButton("ChooseWebinar.Submit", "Continue to Registration Details")%><br/>
生成一个输入按钮,其中'。'嵌入在名称中:
<input id="ChooseWebinar_Submit" name="Webinar.Submit" type="submit" value="Continue" />
在页面加载时,此控件(提交按钮)被隐藏 - 当两个不同下拉列表中的一个注册一个值时,将显示该按钮:
function toggleChooseWebinarSubmit() {
if ($("#ChooseWebinar_RecordedWebinarId").val() || $("#ChooseWebinar_UpcomingWebinarId").val()) {
$("#ChooseWebinar_Submit").show();
} else {
$("#ChooseWebinar_Submit").hide();
}
我刚刚收到一位IE8用户的报告,该用户表示在下拉列表中选择一个值后,该按钮无法显示。我无法重现这个条件(我也尝试过兼容模式)。
显然,show / hide正在瞄准'ID'选择器,但我不禁怀疑控件名称中的那段时间。
任何已知问题? - 或者.change可能会出现问题而且切换永远不会被调用:
$(window).load(function() {
toggleChooseWebinarSubmit();
$("#ChooseWebinar_UpcomingWebinarId").change(function() {
if ($(this).val()) {
$("#ChooseWebinar_RecordedWebinarId").val("");
}
toggleChooseWebinarSubmit();
});
$("#ChooseWebinar_RecordedWebinarId").change(function() {
if ($(this).val()) {
$("#ChooseWebinar_UpcomingWebinarId").val("");
}
toggleChooseWebinarSubmit();
});
});
THX
答案 0 :(得分:1)
input name属性是cdata,这意味着可以进入HTML文档的任何字符都可以进入。 .
当然是允许的。
我能想到的唯一模糊相关的问题是Opera不会在表单中放回“以前记住的”值(当你通过后退/前进输入页面但bfcache不可操作时),直到默认操作为止窗口加载,发生在onload之后。 IE在加载DOM内容后放入记住的值;其他浏览器直接将它们放入,因为它们的元素被解析。因此,如果您希望在加载过程中尽可能地保持按钮的隐藏性,则必须立即执行toggleChooseWebinarSubmit
检查,一旦文档就绪,一次在onload之后执行0超时。 (大多数人都不打扰这一切.Opera的行为可能被认为是一个错误。)
对不起,可能不是很有帮助。听起来这是一个棘手的调试,只有这么少的信息......
答案 1 :(得分:0)
如果您尝试在服务器端读取输入值,则点将自动替换为下划线。
例如
<form action="/dot.php">
<input type="text" name="a.b" value="c">
</form>
此查询会产生:
/dot.php?a_b=c