IE 11 提交按钮单击事件在表单标签下不起作用?
IE 11 submit button click event not working under form tag?
我在 form
标签内有一个提交按钮 .ButtonDownload
。调用此函数不会导致任何表单提交。但它适用于其他浏览器,如 Chrome、Firefox。
function downloadrefinementlogs() {
$('form:first').data('postdata', 1);
$('.ButtonDownload').click(); }
我已经尝试过一些解决方案,例如在此按钮之前插入一个虚拟按钮,return false
/停止事件传播。该按钮也有一个 name
属性 但没有任何作用。
令人惊讶的是,如果我使用更改的名称和 ID 创建此按钮的精确副本,它也不起作用。
编辑 1:
从按钮周围的 DEV 工具中捕获的一些 HTML
<input name="ZS_SG_Theme_wt1$block$wtMainContent$wt18$SilkUIFramework_wt2$block$wtContent$wt8$wt139" tabindex="26" class="Button ButtonDownload Hidden ThemeGrid_MarginGutter" id="ZS_SG_Theme_wt1_block_wtMainContent_wt18_SilkUIFramework_wt2_block_wtContent_wt8_wt139" type="submit" value="ButtonDownload">
删除后的隐藏元素以某种方式解决了问题。
<input name="ZS_SG_Theme_wt1$block$wtMainContent$wt18$SilkUIFramework_wt2$block$wtContent$wt8$wtMultiGeoStateFieldInput" tabindex="70" class="Hidden MultiGeoStateField ThemeGrid_Width1 ThemeGrid_MarginGutter" id="ZS_SG_Theme_wt1_block_wtMainContent_wt18_SilkUIFramework_wt2_block_wtContent_wt8_wtMultiGeoStateFieldInput" aria-invalid="false" onkeydown="return OsEnterKey('ZS_SG_Theme_wt1_block_wtMainContent_wt18_SilkUIFramework_wt2_block_wtContent_wt8_wt334', arguments[0] || window.event);" type="text" maxlength="50">
检查您的提交按钮是否具有属性 name
,如果没有,请尝试将其添加到您的提交按钮。
<input name="MyButton" type="submit" value="Submit">
根据@Yu Zhou 的上述评论,
在观察该字段后,我发现最大长度属性导致了问题。最大长度设置为 50 个字符,并且存储的 JSON 超过该长度,导致 form
提交无效并阻止下载。但我仍然不确定它在 Chrome 中是如何工作的,即使隐藏字段值的字符数超过了最大长度。
我在 form
标签内有一个提交按钮 .ButtonDownload
。调用此函数不会导致任何表单提交。但它适用于其他浏览器,如 Chrome、Firefox。
function downloadrefinementlogs() {
$('form:first').data('postdata', 1);
$('.ButtonDownload').click(); }
我已经尝试过一些解决方案,例如在此按钮之前插入一个虚拟按钮,return false
/停止事件传播。该按钮也有一个 name
属性 但没有任何作用。
令人惊讶的是,如果我使用更改的名称和 ID 创建此按钮的精确副本,它也不起作用。
编辑 1: 从按钮周围的 DEV 工具中捕获的一些 HTML
<input name="ZS_SG_Theme_wt1$block$wtMainContent$wt18$SilkUIFramework_wt2$block$wtContent$wt8$wt139" tabindex="26" class="Button ButtonDownload Hidden ThemeGrid_MarginGutter" id="ZS_SG_Theme_wt1_block_wtMainContent_wt18_SilkUIFramework_wt2_block_wtContent_wt8_wt139" type="submit" value="ButtonDownload">
删除后的隐藏元素以某种方式解决了问题。
<input name="ZS_SG_Theme_wt1$block$wtMainContent$wt18$SilkUIFramework_wt2$block$wtContent$wt8$wtMultiGeoStateFieldInput" tabindex="70" class="Hidden MultiGeoStateField ThemeGrid_Width1 ThemeGrid_MarginGutter" id="ZS_SG_Theme_wt1_block_wtMainContent_wt18_SilkUIFramework_wt2_block_wtContent_wt8_wtMultiGeoStateFieldInput" aria-invalid="false" onkeydown="return OsEnterKey('ZS_SG_Theme_wt1_block_wtMainContent_wt18_SilkUIFramework_wt2_block_wtContent_wt8_wt334', arguments[0] || window.event);" type="text" maxlength="50">
检查您的提交按钮是否具有属性 name
,如果没有,请尝试将其添加到您的提交按钮。
<input name="MyButton" type="submit" value="Submit">
根据@Yu Zhou 的上述评论,
在观察该字段后,我发现最大长度属性导致了问题。最大长度设置为 50 个字符,并且存储的 JSON 超过该长度,导致 form
提交无效并阻止下载。但我仍然不确定它在 Chrome 中是如何工作的,即使隐藏字段值的字符数超过了最大长度。