获取提交表格的行动

时间:2013-04-18 15:26:05

标签: javascript jquery

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

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

我的代码如下:

$("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
    }
});         

如何获得触发此调用的action的{​​{1}}?

5 个答案:

答案 0 :(得分:16)

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

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

    //some other stuff...
});   

答案 1 :(得分:13)

如果你需要没有jQuery的Javascript:

var action=document.getElementById('formId').action

使用jQuery:

var action=$('#formId').attr('action');

答案 2 :(得分:4)

你可以通过这种方式获得行动 -

var formAction = $(this).attr("action");

答案 3 :(得分:1)

“香草” JS中,您拥有Element.getAttribute()
或者(如果需要),您可以使用this.action。见下文的细微差别

document.querySelector("form").addEventListener("submit", function(e) {

  e.preventDefault(); // Prevents form from submitting
  
  console.log( this.getAttribute("action") );  // "test.php"
  console.log( this.action );                  // <address>/test.php
  
  // this.submit();  // Submit afterwards or use AJAX to construct your request

});
<form action="test.php">
  <input type="submit">
</form>

答案 4 :(得分:0)

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

var form = document.getElementById('register_form');
var action = form.getAttribute("action")

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

enter image description here