如何在不干扰其他表单的情况下使用此JavaScript代码

时间:2013-09-01 17:03:32

标签: javascript

我在我的网站上创建了两个表单,但是当我提交它时会自动重定向,我想阻止它。

我这里有一个javascript代码,它完全符合我的需要,但它适用于我网站上的所有表单,我只需要这个代码以特定的形式工作,因为我有两个表单,一个叫登录,另一个叫做购物车,当我点击登录按钮时,它没有重定向,因为脚本,它适用于两种形式,我只是希望这个脚本以特定的形式工作,在这种情况下,购物车。

我希望你明白,我不会说英语。

我的Javascript代码:

 <script type="text/javascript">
      $(document).ready( function () {
         $('form').submit( function () {
             var formdata = $(this).serialize();
             $.ajax({
                 type: "POST",
                 url: "carrinho.php",
                data: formdata,
             });
            return false;
        });
    }); </script>

我的HTML代码:

 <form name="comprar" method="post" action="carrinho.php">
           <input name="id_txt" type="hidden" value="<?php echo $id; ?>" />
            <input name="nome" type="hidden" value="<?php echo $nome; ?>" />
            <input name="preco" type="hidden" value="<?php echo $preco; ?>" />
            <input name="quantidade" type="hidden" value="1" />


            <input name="Comprar" type="submit" class="Adicionar" value="" />
            </form>

Carrinho意味着推车,我正在建立一个电子商务商店。

2 个答案:

答案 0 :(得分:1)

尝试:

$(document).ready( function () {
         $("form[name='comprar']").submit( function () {
             var formdata = $(this).serialize();
             $.ajax({
                 type: "POST",
                 url: "carrinho.php",
                data: formdata
             });
            return false;
        });
    });

使用$("form[name='comprar']")访问特定表单。根据您的要求更改表单名称。

答案 1 :(得分:0)

使用attribute selector仅选择所需的表单。另请注意,额外的,将导致IE中的问题&lt; 9。

$("form[name='comprar']").submit( function () {
    var formdata = $(this).serialize();
    $.ajax({
        type: "POST",
        url: "carrinho.php",
        data: formdata,  //remove this comma
    });
    return false;
 });