5

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

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

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

关联

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

形式

<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

4 回答 4

15

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

<a href="javascript:document.getElementById('add-product-form').submit();">Send form</a>
于 2013-08-23T16:15:54.553 回答
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>标签的 action 属性是空白的,这意味着表单将自己提交到同一个文档。如果这是您想要做的,那么您可以将其逻辑放在文档的顶部:

<?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>
于 2013-08-23T15:39:51.630 回答
3

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

$(document).ready(function() {  
    $('#add-product-save-link').parent().click(function(e) {
        $('#add-product-form').submit();
        return false;
    });
});
于 2013-08-23T15:44:14.917 回答
1

$("#button").click(function(e){

        $.post('url.php', $("#form").serialize(), function(data){
于 2015-07-02T18:30:42.923 回答