从From执行Javascript函数

时间:2013-09-27 18:02:40

标签: javascript jquery html

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

无论如何,我有一个单击按钮的功能:

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

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

感谢您的帮助

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'); 
          } 
        }
      });
    }

3 个答案:

答案 0 :(得分: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());
    });
});

如果模型是表单中的唯一输入,则不需要按键事件。

答案 1 :(得分:0)

这可能是您想要的HTML。如果没有能够看到你的JavaScript,我就无法提供更多的帮助:

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

您需要从addToCart返回false,以防止表单提交新的页面加载。如果你使用jQuery,你也可以在事件参数上调用preventDefault

答案 2 :(得分:0)

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

<input type="button" value="Add Item" onclick="addToCart($('#modelNumber').val());">