Javascript 点击IE11中的锚定标签提交表单

Javascript 点击IE11中的锚定标签提交表单,javascript,forms,internet-explorer-11,Javascript,Forms,Internet Explorer 11,我正在尝试更新一些旧代码,这些代码可以在除IE11之外的所有IE版本上正常工作。单击锚定标记时,会运行javascript函数。功能。该函数所做的只是从DOM获取某些值,然后使用post操作提交表单。 我知道如果输入元素没有名称,IE11 submit就不能工作。在这里,提交是通过点击一个锚定标签完成的——我尝试向锚定标签添加一个名称和id,但它仍然不起作用。 你知道怎么让它工作吗。以下是锚定标签 <a class="nohigh" href="javascript:getClassDe

我正在尝试更新一些旧代码,这些代码可以在除IE11之外的所有IE版本上正常工作。单击锚定标记时,会运行javascript函数。功能。该函数所做的只是从DOM获取某些值,然后使用post操作提交表单。 我知道如果输入元素没有名称,IE11 submit就不能工作。在这里,提交是通过点击一个锚定标签完成的——我尝试向锚定标签添加一个名称和id,但它仍然不起作用。 你知道怎么让它工作吗。以下是锚定标签

<a class="nohigh"  href="javascript:getClassDetails('<%=Id%>');">

您想要的功能应该是:

function getClassDetails(a){
 var classId = document.getElementById(classIdRow).value; // assuming classIdRow is defined
 var courseId = document.getElementById(courseIdRow).value; // assuming courseIdRow is defined
 document.getElementById('val1').value = classId;
 document.getElementById('val2').value = courseId;
 document.getElementById('clasCourseForm').submit();
}

这至少是假设上面所有的JavaScript都是逐字的。

[编辑:删除了原始答案,因为问题已更改为更正语法]


此外,JS代码还有其他奇怪之处,函数正在接受一个参数(
a
),但从未在函数中使用它。这里几乎肯定有某种逻辑错误,您需要对此进行研究。

通过在表单中添加名称和id来修复它。

函数语句的语法只是。。。。奇怪。奇怪的是,有效的JS.classIdRow和courseIdRow在何处定义?也许你也可以包含html表单的代码?你的控制台中是否有任何错误(在运行刷新页面并单击链接时按f12并查看控制台选项卡),因为我制作了一个快速表单,做了类似的事情,它在ie11中工作:。除非您将它们定义为全局变量,否则我会说,
classIdRow
courseIdRow
未设置,因此
.value
可能会引发错误抱歉-我在复制代码时出错。修好了,你确定?或者你只是用我的答案的内容替换了你的代码:)@Mary那么,这解决了问题了吗,还是你的意思是你修复了问题代码的复制?@sircapsalot:嗯,这是有效的代码,正在研究它为什么不能在IE11上工作。而且,我知道我有足够的正直,不必对它撒谎。然而,不够清晰,不含糊不清。两次。对于未来的读者来说,编辑原始代码示例并使用您添加的属性将其添加到答案中会很有帮助。
function getClassDetails(a){
 var classId = document.getElementById(classIdRow).value; // assuming classIdRow is defined
 var courseId = document.getElementById(courseIdRow).value; // assuming courseIdRow is defined
 document.getElementById('val1').value = classId;
 document.getElementById('val2').value = courseId;
 document.getElementById('clasCourseForm').submit();
}