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

时间:2013-08-23 15:37:30

标签: javascript jquery forms hyperlink

我正在尝试通过导航栏中的链接提交表单。

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

我有一种感觉,我需要在链接的href中添加其他内容,但我不确定它是什么?我很感激反馈和专业知识。

LINK

<li><a href="#" id="add-product-save-link"><i class="icon-plus"></i> Save</a></li>

FORM

<form class="form" action="" method="post" id="add-product-form">

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

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

我已经将jQuery链接到:

4 个答案:

答案 0 :(得分:11)

纯JavaScript中的

:(http://jsfiddle.net/4enf7/

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

答案 1 :(得分:8)

链接:

<a href="#" id="add-product-save-link" class="icon-plus" ><i>Save</i></a>

jQuery的:

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

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

由于您的<form>标记的操作属性为空,这意味着该表单会将自己提交给同一文档。如果这是您想要做的,那么您可以将其逻辑放在文档的顶部:

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

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

<html>
    <head>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    </head>

答案 2 :(得分:3)

您正在点击“A”,而不是斜体(带ID)。假设您不会将HTML更改为该工作,您应该使用:

$(document).ready(function() {  
    $('#add-product-save-link').parent().click(function(e) {
        $('#add-product-form').submit();
        return false;
    });
});

答案 3 :(得分:0)

$( “#键”)。单击(函数(E){

        $.post('url.php', $("#form").serialize(), function(data){