使用jQuery从表单之外的链接提交表单

bbr*_*oke 3 javascript forms jquery hyperlink

我正在尝试从位于导航栏中的链接提交表单.

我是javascript.jQuery的新手,不确定为什么这不会执行.

我有一种感觉,我需要在链接的href中加入其他东西,但我不确定它是什么?我很感谢反馈和专业知识.

链接

<li><a href="#" id="add-product-save-link"><i class="icon-plus"></i> Save</a></li>
Run Code Online (Sandbox Code Playgroud)

形成

<form class="form" action="" method="post" id="add-product-form">
Run Code Online (Sandbox Code Playgroud)

JAVASCRIPT(此代码在我已链接到模板的外部单独文件中)

$(document).ready(function() { 
    $('#add-product-save-link').click(function(e) {
        e.preventDefault();
        $('#add-product-form').submit();
    });
});
Run Code Online (Sandbox Code Playgroud)

我已经链接到jQuery:

Imm*_*lPC 12

在纯JavaScript中:(http://jsfiddle.net/4enf7/)

<a href="javascript:document.getElementById('add-product-form').submit();">Send form</a>
Run Code Online (Sandbox Code Playgroud)


css*_*hus 8

链接:

<a href="#" id="add-product-save-link" class="icon-plus" ><i>Save</i></a>
Run Code Online (Sandbox Code Playgroud)

jQuery的:

$(document).ready(function() { 
    $('#add-product-save-link').click(function() {
        $('#add-product-form').submit();
    });
});
Run Code Online (Sandbox Code Playgroud)

你不需要e.preventDefault(),因为你的锚标签不会去任何地方(href是#).

由于<form>标记的action属性为空,这意味着表单将自己提交到同一文档.如果这是你想要做的,那么你可以把它的逻辑放在你的文档的顶部:

<?php
    if (isset($_POST)) {
        //do your form processing here
    }else{
        //your normal page is here.
    }
?>
Run Code Online (Sandbox Code Playgroud)

最后,因为这个答案使用jQuery,请确保在某处引用jQuery库,例如在<head>标记中:

<html>
    <head>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    </head>
Run Code Online (Sandbox Code Playgroud)