javascript中关与this参数传递的问题
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/...
<!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=gb2312" />
<title>无标题文档</title>
</head>
<script type="text/javascript" >
function sub()
{
chang1(obj);
}
function chang1(obj)
{
var obValue=obj.value;
}
</script>
<body>
<form id="form1" name="form1" enctype="multipart/form-data" method = "post" action="" >
<center>
<input type="text" name="name" value="" onchange="chang1(this)"/>
<input type="button" name="Submit2" value="重置" onclick="reset()" />
<input type="button" name="Submit3" value="提交" onclick="sub()"/>
</center>
</form>
</body>
</html>
请问:在onchange="chang1(this)"这句中,this指的是什么,在function sub()函数中怎么调用chang1()函数,谢谢 展开
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<script type="text/javascript" >
function sub()
{
chang1(obj);
}
function chang1(obj)
{
var obValue=obj.value;
}
</script>
<body>
<form id="form1" name="form1" enctype="multipart/form-data" method = "post" action="" >
<center>
<input type="text" name="name" value="" onchange="chang1(this)"/>
<input type="button" name="Submit2" value="重置" onclick="reset()" />
<input type="button" name="Submit3" value="提交" onclick="sub()"/>
</center>
</form>
</body>
</html>
请问:在onchange="chang1(this)"这句中,this指的是什么,在function sub()函数中怎么调用chang1()函数,谢谢 展开
4个回答
展开全部
首先,你上面的js写法就有问题了。onchage="change1(this)"中的this表示当前表单组件的DOM对象,你上面的意思是表示name="name" 的文件框DOM对象,当值改变时,传this对象之后你的chang1(this)的方法是获取到了name="name" 的文件框的值。
如果你想在function sub()函数中调用chang1(),可以看我下面的写法
function sub(){
var obj = document.getElementByName('name')[0];//获取name="name" 的文件框DOM对象
chang1(obj);
}
希望对你有帮助。。。
如果你想在function sub()函数中调用chang1(),可以看我下面的写法
function sub(){
var obj = document.getElementByName('name')[0];//获取name="name" 的文件框DOM对象
chang1(obj);
}
希望对你有帮助。。。
更多追问追答
追问
document.getElementByName('name')[0]
中[0]是什么意思
追答
js获取Dom节点,document.getElementByName返回一个Dom节点数组,document.getElementByName('name')[0]表示第一个name="name" 的input DOM对象
也可是你写的
对象,如果还有其他的比如还有:
此时document.getElementByName('name').length == 3;
document.getElementByName('name')[0] DOM节点是
document.getElementByName('name')[1] DOM节点是
document.getElementByName('name')[2] DOM节点是
如果还看不懂的话,建议你去学学js操作DOM
展开全部
首先建议你把控件加上id属性 即id="name"之类的
1、this指的是<input type="text" name="name" value="" onchange="chang1(this)"/>
在js里可以根据doucument.getElementById("name")得到(前提你加了id属性)
2、你想做提交的时候调用js函数去校验。但写的方式不对。
首先把<input type="button" name="Submit3" value="提交" />
里面的type="button" 改成type="submit";然后把onclick="sub()"去掉;
再来在form里写 onsubmit="sub()"即
<form id="form1" name="form1" enctype="multipart/form-data" method = "post" action="" onsubmit="sub()">
这样你提交的时候会先到sub这个JS方法中,如果校验不允许提交直接写return;如果不写则提交成功
1、this指的是<input type="text" name="name" value="" onchange="chang1(this)"/>
在js里可以根据doucument.getElementById("name")得到(前提你加了id属性)
2、你想做提交的时候调用js函数去校验。但写的方式不对。
首先把<input type="button" name="Submit3" value="提交" />
里面的type="button" 改成type="submit";然后把onclick="sub()"去掉;
再来在form里写 onsubmit="sub()"即
<form id="form1" name="form1" enctype="multipart/form-data" method = "post" action="" onsubmit="sub()">
这样你提交的时候会先到sub这个JS方法中,如果校验不允许提交直接写return;如果不写则提交成功
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
this是指这个input标签本身,sub函数直接调用change1函数,在change1函数中写上return就行。
更多追问追答
追问
直接调用的话,我怎么写chang1()中的参数才能得到 中的值?
追答
直接return this.value就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
this 指的是name为name的input
先得到input元素 做为参数
先得到input元素 做为参数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询