2013-09-27 2 views
0

Извините за этот простой вопрос, но я не могу найти ответ нигде ... Я тоже новичок Javascript с опытом 0, поэтому я действительно застрял.Выполнение функции Javascript от

В любом случае, у меня есть функция, которая используется с простым нажатием кнопки:

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

мне нужно изменить, что от текущей настройки, где вы можете нажать кнопку и нажмите кнопку и запустить функцию с ModelNumber аргумент в форму, в которую вы вводите номер модели вручную и нажмите return через форму 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

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

если модель является единственным вкладом в вашей форме, вам не нужно нажатие клавиши мероприятие.

+0

Пробовал это, но это не сработало. Я также добавил реальную функцию к вопросу, вы думаете, что у вас может быть другой взгляд? Я очень ценю помощь Николаса. – user1011713

+0

добавьте возврат false в конец функции. это коротко замыкает http submit. вы также можете (и должны) связывать функцию с событием с помощью jQuery. Я немедленно обновлю свой ответ с помощью этого кода. –

+0

Спасибо, но я получаю сообщение об ошибке: Uncaught SyntaxError: Неожиданный токен от добавления этой функции. – user1011713

0

Это, вероятно, HTML вы хотите. Не будучи в состоянии видеть ваше JavaScript, я не могу помочь больше, чем это:

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

Вам нужно будет возвращать ложь от вашего addToCart предотвратить форму от представления новой загрузки страницы. Если вы используете jQuery, вы также можете вызвать preventDefault в аргументе события.

+0

Просто добавлена ​​функция к вопросу – user1011713

+0

Оформить заказ @ nicolas ответ. У него это есть. –

+0

Просто попробовал ... Он перезагружает страницу и не добавляет ее. – user1011713

0

Вам нужно получить значение из ввода html. с JQuery будет выглядеть так:

<input type="button" value="Add Item" onclick="addToCart($('#modelNumber').val());"> 
Смежные вопросы