javascript中FORM表单的submit()方法经验教训
@author songfeng
因为JS内对象的方法实际上是存储语句的一个类似于指针的东西. 其指向了内存的一个位置, 也就是其函数的位置,当然也可以让其指向一个变量值.
var foo = new Object();
foo.bar = function() {} //现在foo.bar就是指向了这个函数的内存位置.
foo.bar = "abcdefg"; //现在其指向了内存中的字符串
也就是说它们的名子是一样的, 第二个会把第一个覆盖掉, 并不会有任何提示.
下面是我今天遇到的问题.
<form action="" name="applyForm" namemethod="post">
<input type="text" name="foo" value="" />
<input type="button" id="submit" onClick="apply();" name="submit"
/> //注意它的name
</form>
<script>
function apply()
{
document.applyForm.submit()
;
}
</script>
apply()就是无法提交, 总是告诉我submit()不是方法, 可是明明其就是一个方法.
后来仔细检查(因为源代码比这长很多), 才找出问题所在. 原来是input表单的name值是submit, 它理所当然的成了此FORM
的属性值.自然就把以前的顶替了. 改后, 则正常运行.
相关文档:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>javascript</t ......
理解Javascript闭包(closure)
专题 原帖 http://www.w3cgroup.com/article.asp?id=87
此文用通俗的文字介绍了Javascript闭包 。
看过后,我对javascript闭包简单的理解就是 文中第四、五段中所说的“在内存中维持一个变量,不会被GC回收”。
当然还需要学习才能深入的理解javascript闭包
一、什么是闭包?
......
兼容IE、FireFox、Chrome
//加载js
function loadJs(){
if (!getObj('script_PlData')){
var scriptObj= document.createElement("script");
//scriptObj.id = 'script_1';
&nb ......
1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键
<table border oncontextmenu=return(false)> <td>no </table> 可用于Table
2. <body onselectstart="return false"> 取消选取、防止复制
3. onpaste="return false" 不准粘贴
4. oncopy="return false;" oncut="re ......
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>select-option onclick </title>
<script type="text/javascript" >
function simOptionClick4IE(){  ......