检测到提交时的警报文本

时间:2012-05-28 09:29:09

标签: javascript jquery submit

在一个名为outputProducts的函数中,我在表格中添加了一个提交按钮:

$(addToCartCell).append("<input type='submit' id='addToCart' value='Add To Cart'>");

为了检查按下提交按钮,我又做了另一个功能:

function addToCart()
{
    $(#addToCart).submit(function() {
        alert('Submit Detected.');
    });
}

但这不起作用,之前在函数中创建的表甚至都没有出现,但是当我摆脱addToCart函数时它就会出现。

3 个答案:

答案 0 :(得分:5)

您有语法错误,而不是$(#addToCart)您需要$('#addToCart')

除此之外,您需要将submit事件绑定到表单,而不是提交按钮(您将click绑定到按钮,但是因为您需要要在提交时执行某些操作,将提交事件绑定到表单是可行的方法。

如果您没有表单,请使用type="button",因为无论如何都无法提交任何内容并将click事件绑定到该按钮。

如果您需要在按钮存在之前绑定事件,请使用委托。 #container应该是已存在的元素,并且是按钮的父元素:

$('#container').on('click', '#addToCart', function() { ... });

由于您似乎有多个产品,请记住 ID必须是唯一的 - 因此,如果您有多个按钮,请改用类并将选择器更改为.addToCart相应

答案 1 :(得分:0)

您遇到语法错误。试试$('#addToCart')

答案 2 :(得分:-1)

请尝试以下代码

function addToCart()
{
    $("#addToCart").live("submit", (function() {
        alert('Submit Detected.');
    });
}

注意:我尝试过相同但是因为你在运行时添加了元素,所以需要将事件绑定到元素。