<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<form id="Searchid" name="Form1" onsubmit="return true;" action="Search.action" method="post">
<table width="100%" border="1">
<tr>
<td width="10%">1</td>
<td width="90%">
<form id="testform1"
method="post"
onsubmit="return false"
action="toSelect.action">
<input type="hidden" name="id" value="4" />
</form>
<a href="#" onclick="document.getElementById('testform1').submit();">
ID
</a>
</td>
</tr>
</table>
</form>
</body>
</html>
提示JS错误。
但是在修改成如下代码后就可以提交。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<form id="Searchid" name="Form1" onsubmit="return true;" action="Search.action" method="post">
<form id="1234" name="1234" onsubmit="return false;"
action="test.action" method="post">
</form>
<table width="100%" border="1">
<tr>
<td width="10%">1</td>
<td width="90%">
<form id="testform1"
method="post"
onsubmit="return false"
action="toSelect.action">
<input type="hidden" name="id" value="4" />
</form>
<a href="#" onclick="document.getElementById('testform1').submit();">
ID
</a>
</td>
</tr>
</table>
</form>
</body>
</html>
发现了没有。
加了一个
<form id="1234" name="1234" onsubmit="return false;"
action="test.action" method="post">
</form>
居然就好用了。
可是这是为什么呢?这个Form是没有用的。但是加了以后为什么。下面的那个Form就可以提交了。不出现JS错误了.
网上看到一篇文章:
document.getElementById("")为空或不是对象解决办法
网页设计中经常会使用此方法,当出现这个错误的时候,不妨使用alert();来调试调试。
alert(document.getElementById("name"));
看看是否有弹出框:
1,若无弹出框,则说明不存在该ID=name。
2,若有弹出框,则说明存在该ID=name,那么就可能是因为改脚本语言所处在网页文本位置在ID=name标签上部,把脚本写到该HTML标签下面试验。即可得到该对象值。
但是好像还是说明不了上面的情况。
分享到:
相关推荐
var $ = document.getElementById.bind(document); ``` 需要注意的是,`bind`方法在IE9及更高版本、Firefox、Chrome等现代浏览器中才被支持。 除了`getElementById`之外,其他一些与`document`或`window`对象...
document.getElementById()对象和使用方法
当存在过渡动画时,页面的切换会有时间延迟,在这个延迟期间,页面的旧元素还未被完全卸载,新元素还未完全渲染,这就导致了在切换过程中,`document.getElementById()`可能获取到的是第一个页面的元素值。...
`TypeError: document.getElementById(...) is null` 是一个常见的JavaScript错误,通常出现在尝试访问一个尚未加载或者不存在于DOM(文档对象模型)中的元素时。这个错误表示`document.getElementById`方法未能找到...
例如,`document.getElementById('mes')` 将返回ID为 'mes' 的第一个元素。如果页面中没有与该ID匹配的元素,则返回 `null`。 在第一个示例中,`<script>` 标签位于 `<head>` 部分,其中的 JavaScript 代码在页面...
document.getElementById为null 原因: var titab=document.getElementById(“titletab”);没有取到对象 解决办法: 1.在错误语句的下面加上alert(titab);调试语句,看看是否有消息框弹出 2.如果没有弹出,检查...
当你尝试使用 `document.getElementById` 方法获取一个HTML元素时,如果该元素在当前文档中不存在,JavaScript 将抛出 `TypeError: document.getElementById(...) is null` 的错误。这个错误意味着你试图访问的ID...
① document.getElementById 有时会抓name放过了id ,据说是IE的一个BUG; http://community.csdn.net/Expert/topic/4223/4223888.xml?temp=.1947443 页面中有 程序代码 <input type=”hidden” id=”hello8...
对于ID & Name 按最经典的解释的:“ID 就如同我们的身份证,Name就如同我们的名字”,也就是说,在一个html文档中ID是唯一的,但是Name是可以重复的,就象我们的人名可以重复但是身份证确实全中国唯一的(PS:据说...
onload = function ( ) { formNode = document . getElementById ( 'form' ) ; submitButtonNode = document . getElementById ( 'submit' ) ; nameInputNode = document . getElementById ( 'name' ) ; ...
2. **返回值类型**:`document.getElementsByName()`返回一个NodeList对象(包含多个元素),而`document.getElementById()`返回一个单独的DOM元素或null。 3. **唯一性**:`id`属性在HTML文档中应该是唯一的,因此`...
document.all是IE 4.0及以上版本的专有属性,是一个表示当前文档的所有对象的娄组,不仅包括页面上可见的实体对象,还包括一些不可见的对象,比如html注释等等。在document.all数组里面,元素不分层次,是按照其在...
比如用_$(id)代替document.getElementById(id). 如果是纯粹的代替可以使用下面的代码 代码如下: function $(id){document.getElementById(id)} 个人比较推荐用prototype中对document.getElementById的定义: 代码如下...
`document.all` 是一个只读属性,它返回一个包含文档中所有元素的类数组对象。这个特性最初是为 Internet Explorer 设计的,并且在早期版本的 IE 中得到了广泛的支持。虽然它不是标准的一部分,但在许多旧的 Web ...
例如,当你使用`$("#checkbox_id").attr("checked")`时,可能会得到一个字符串"checked"或者undefined,而不是布尔值true或false,这不符合原生属性的行为。 另外,如果在页面加载后点击选中或取消选中复选框,使用...
此外,值得注意的是,`document.getElementById`返回的是一个DOM元素对象,而不是一个数组或集合,即使页面中有多个同名的元素。如果需要获取一组元素,可以考虑使用`querySelectorAll`或`getElementsByClassName`等...