'这'表单中的关键字onsubmit调用
The 'This' keyword in a form onsubmit call
我一直在寻找这个问题的答案,但没有成功。对你们中的一些人来说,这可能是一个很容易回答的问题。
在此标签中:
<form method="post" action="" class="jcart" id="somethinghere" onsubmit="return validate(this)">
"this"关键字代表什么?
例如,如果我想从另一个javascript函数内部调用这个表单上的"validate"函数,我该怎么做?
我知道是这样的:
<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 is not defined"错误。
此外,上面的代码在文档的末尾加载,并且在文档的开头调用带有validate函数的文件。因此,当我尝试在这里调用validate函数时,我会认为它是可用的,因为它应该已经加载了。
在这种情况下,this
表示发生事件的元素,即form元素。
如果你想从其他地方调用validate()
,但让它验证相同的表单,那么只需获得对具有.getElementByid()
的表单的引用,并传递:
function MyTest(){
validate(document.getElementById("somethinghere"));
}
(其中"somethinghere"是您表单的id。)
编辑:关于您的编辑:
"我找到了这段代码,它负责通过Ajax提交表单。"
$('.jcart').submit(function(e) {
add($(this));
e.preventDefault();
});
您是否确定负责通过Ajax提交表单?它似乎是在一个类为"jcart"的表单上创建一个提交处理程序,而您最初显示的表单没有该类。除非你没有显示的add()
函数提交"somethinghere"表单?
"但我收到一个‘validate is not defined’错误。"
如果内联submit="return validate(this);"
在同一页上运行,那么validate()
必须是一个全局函数,这样您就可以从页面上的任何位置调用它。如果这不起作用,那么您的代码肯定比您显示的要多。
- '这'表单中的关键字onsubmit调用
- html获取调用onsubmit的位置
- Javascript函数未调用onclick()和onsubmit()
- onsubmit不调用Chrome中的js函数,而是直接提交表单
- 在 Wicket Framework 上的 Button onSubmit() 之前调用 YUI3 脚本
- 将类/对象>函数()调用插入到onsubmit事件中
- HTML Forms - 通过 onsubmit 事件处理程序调用 JavaScript
- 如果我在输入上有 onBlur 处理程序,则不会调用表单上的 React onSubmit 处理程序?(仅在使用Webs
- 如何为窗体返回布尔值's”;onsubmit”;属性,这取决于ajax调用的成功与否
- Javascript-在Onsubmit调用两个函数
- 如何使用onsubmit调用js函数
- 如何在onSubmit上调用多个函数
- 为什么调用一个JS函数从onsubmit清除我的表单和控制台
- 当函数被调用'submit'时,表单onSubmit不起作用
- 调用多个onSubmit函数而不刷新页面
- Alert不会在onSubmit方法中被调用
- 如何调用“onsubmit”;当“javascript: document.forms[0].submit()“;使用
- 我想调用另一个函数后onsubmit执行的形式
- onsubmit调用的函数从未到达
- 如何在onSubmit事件中调用方法