0

抱歉这个简单的问题,但我无法在任何地方找到答案......我也是一个经验为 0 的 Javascript 新手,所以我真的被卡住了。

无论如何,我有一个通过简单的按钮单击使用的功能:

<input type="button" value="Add Item" onclick="addToCartt('MODELNUMBER');">

我需要从当前设置中更改它,您可以单击并点击一个按钮并将带有 ModelNumber 参数的函数运行到一个表单中,您可以在其中手动输入 ModelNumber 并通过 html 表单点击返回,然后运行带有 ModelNumber 的函数 addToCartt论点。

谢谢你的帮助

function addToCartt(product_id, quantity) {
      quantity = typeof(quantity) != 'undefined' ? quantity : 1;

      $.ajax({
        url: 'index.php?route=checkout/cart/addorder',
        type: 'post',
        data: 'product_id=' + product_id + '&quantity=' + quantity,
        dataType: 'json',
        success: function(json) {
          $('.success, .warning, .attention, .information, .error').remove();



        $('#maincontent').addClass('active');
        $('#maincontent').load('index.php?route=module/cart');
        // $('#cart').live('mouseleave', function() {
        // $(this).removeClass('active');
        // });


          if (json['redirect']) {
            location = json['redirect'];
          }

          if (json['success']) {
            $('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="close.png" alt="" class="close" /></div>');

            $('.success').fadeIn('slow');

            $('#cart-total').html(json['total']);
            $('#new_total').html(json['new_total']);

            // $('html, body').animate({ scrollTop: 0 }, 'slow'); 
          } 
        }
      });
    }
4

3 回答 3

3

HTML:

<form name='frm'>
    <input type='text' id='model' />
</form>

javascript:

$(function() {
    $('#model').keypress(function(e){
        if (e.which === 13) {
            $(frm).submit()
        }
    });
    $('form').submit(function(e) {
        e.preventDefault();
        addToCart($('#model').val());
    });
});

如果 model 是表单中的唯一输入,则不需要 keypress 事件。

于 2013-09-27T18:13:25.230 回答
0

这可能是您想要的 HTML。如果无法看到您的 JavaScript,我真的无能为力:

<form onsubmit="return addToCart();">
   <input type="text" value"MODELNUMBER" />
   <input type="submit" value="Add Item"/>
</form>

您需要从您的返回 falseaddToCart以防止表单提交新的页面加载。如果你使用 jQuery,你也可以调用preventDefaultevent 参数。

于 2013-09-27T18:06:31.897 回答
0

您需要从 html 输入中获取值。使用 jQuery 会是这样的:

<input type="button" value="Add Item" onclick="addToCart($('#modelNumber').val());">
于 2013-09-27T18:09:05.757 回答