一段时间以来,我一直在寻找这个问题的答案,但没有运气。对于你们中的一些人来说,这可能是一个容易回答的问题。
在这个标签中:
<form method="post" action="" class="jcart" id="somethinghere" onsubmit="return validate(this)">
“this”关键字代表什么?
例如,如果我想从另一个 javascript 函数内部调用此表单上的“验证”函数,我该怎么做?
我知道是这样的:
<script type='text/javascript'>
function MyTest(){
validate(???);
}
</script>
但我不知道应该在对 validate 函数的调用中放入什么。
编辑
这就是我想要做的。
我有一个通过 Ajax 提交的表单。它也有一些验证。但是,通常在提交表单时调用验证脚本。但是,Ajax 函数已经获得了提交按钮的“单击”并提交数据,因此表单永远不会以触发验证的方式“提交”。
我找到了这段代码,它负责通过 Ajax 提交表单。
$('.jcart').submit(function(e) {
add($(this));
e.preventDefault();
});
所以,我希望能够从那里运行验证函数,并且只有在验证通过时才调用 add() 函数。但我不知道如何从这里调用该函数,因为我不知道如何引用表单以获取与 onsubmit 调用中的“this”相同的元素引用。
编辑 2
我试过这个:
$('.jcart').submit(function(e) {
if(validate(document.getElementById("somethinghere"))){
alert("validated");
add($(this));
e.preventDefault();
}
else {
alert("not validated");
e.preventDefault();
}
});
但我收到“未定义验证”错误。
此外,上面的代码在文档末尾加载,并且在开头调用具有 validate 函数的文件。所以当我尝试在这里调用它时,我会认为 validate 函数是可用的,因为它应该已经加载了。