Javascript 获取已提交表单的操作

Javascript 获取已提交表单的操作,javascript,jquery,Javascript,Jquery,我有以下代码,每次用户在我的网站上提交表单时都会触发 我想稍微修改它,以便它检查提交的操作,并基于特定关键字的存在,运行一些代码 我的代码如下: $("form").submit(function() { //do some generic stuff var formAction = ""; //get the action of the submitted form if (formAction.indexOf('keyword') !== -1) {

我有以下代码,每次用户在我的网站上提交表单时都会触发

我想稍微修改它,以便它检查提交的操作,并基于特定关键字的存在,运行一些代码

我的代码如下:

$("form").submit(function() {
    //do some generic stuff
    var formAction = ""; //get the action of the submitted form

    if (formAction.indexOf('keyword') !== -1) {
        //do some specific stuff for these forms
    }
});         

如何获取触发此调用的
表单的
操作
-

$("form").submit(function() {
    //some stuff...

    //get form action:
    var formAction = $(this).attr("action");

    //some other stuff...
});   
var formAction = $(this).attr("action");

如果需要不带jQuery的Javascript:

var action=document.getElementById('formId').action
使用jQuery:

var action=$('#formId').attr('action');
在“香草”JS中,有
元素.getAttribute()

或者(如果需要)您可以使用
this.action
。请参见下面的细微差别

document.querySelector(“表单”).addEventListener(“提交”,函数(e){
e、 preventDefault();//防止表单提交
console.log(this.getAttribute(“action”);/“test.php”
console.log(this.action);///test.php
//this.submit();//稍后提交或使用AJAX构造请求
});

在JavaScript中,您可以使用getAttribute方法:

var form = document.getElementById('register_form');
var action = form.getAttribute("action")
注意:form.getAttribute(“操作”)比使用form.action更安全。因为如果表单中有一个名为“action”的输入字段,那么浏览器可以返回该特定节点,而不是返回表单的action URL


您是否需要jQuery或类似的东西,或者它是开箱即用的?仅供参考,这对于元素使用
formaction
属性覆盖操作的表单不起作用。您是否需要jQuery或类似的东西,或者它是开箱即用的?我认为使用form.action会导致歧义,因为有一个名为表中的“动作”。