代码之家  ›  专栏  ›  技术社区  ›  user3436467

如何动态获取表单名称?

  •  -2
  • user3436467  · 技术社区  · 9 年前

    我有很多动态创建的表单,每个表单都以一个递增的数字结尾。每个表单都有一个提交按钮,该按钮也有一个动态分配的名称。

    我使用下面的代码来调用一个函数,但它仅限于一个表单。是否有任何方法可以自定义它,以便它动态地使用指定的表单名称?我还需要将表单名称保存到变量中。

    jQuery

        $("myform0").submit(function (e) {
            //Stops the submit request
            e.preventDefault();
        });
    
        //checks for the button click event
        $("#submit0").click(function (e) {
            callfunction();
        });
    

    HTML

    <form name="myform0">
      <input type="hidden" name="caseid" value="5008000000oYdXIAA0">
      <input type="submit" name="submit0" value="submit">
    </form>
    
    1 回复  |  直到 9 年前
        1
  •  1
  •   Zach Saucier    9 年前

    要使用自定义函数而不是提交请求,您应该在提交侦听器内部调用该函数。由于您需要表单名称,因此需要参考 $(this) :

    $("form").submit(function (e) {
        // Stops the submit request
        e.preventDefault();
    
        // this refers to the form that is submitted
        var formName = $(this).attr("name");
    
        // Call the function
        callfunction();
    });
    

    如果只想将其应用于一个表单,请将提交选择器更改为 $("[name='myform0']")