了解javascript THIS关键字

时间:2012-05-19 01:31:41

标签: javascript

我试图通过搜索网络找到这个问题的答案,但没有运气。大多数信息都比我预期的那样复杂得多,实际上没有人回答这个问题。

在此标记中:

<form method="post" action="process.php" name="processform" id="form1" onsubmit="return validate(this)">

“this”指的是什么?

如果我打算将“this”替换为对同一对象的硬编码引用,我将用它替换它?

2 个答案:

答案 0 :(得分:2)

this将引用正在提交的表单节点。您可以使用document.getElementById('form1')替换参考。

答案 1 :(得分:1)

“onsubmit”属性中的this是指表单本身;当调用validate函数时,它的第一个参数是表单的DOM元素。

例如,考虑validate

的这种可能实现
function validate(form)
{
    alert(form.action); // will display "process.php"
}

在HTML中使用this(而不是固定名称或ID)这样的好处就是您不必按ID或名称引用表单。