我需要停止提交的表单(添加到购物车),假设没有设置cookie
jQuery('input[name=addtocart]').click(function() {
...
switch(curr_active_table){
case '1': {
...
alert(" Please select a Lense Option first before Adding to cart");
event.preventDefault();
break;
}
...
一切都像冠军一样,直到我达到我需要阻止提交
的程度答案 0 :(得分:5)
你必须传递[event]参数
jQuery('input[name=addtocart]').click(function(event) { //<-- see event inside function()
...
switch(curr_active_table){
case '1': {
...
alert(" Please select a Lense Option first before Adding to cart");
event.preventDefault();
break;
});
然后强制输入键默认为单击操作
jQuery('form').keypress(function(event) { //<-- listen for keypress inside form
if (e.keyCode == 13) { // <-- if enter default to click action
jQuery('input[name=addtocart]').click();//<- trigger click action
return false;// or event.preventDefault();
}
});
正如你在这个小提琴中看到的那样,这将阻止表单中的输入键提交
@Juan Mendes - 好了,现在我明白你在说什么...如果你只是在表格的提交活动中做了所有事情,你就不需要听取按键输入
jQuery('formselector').submit(function(event) { //<-- see event inside function()
...
switch(curr_active_table){
case '1': {
...
alert(" Please select a Lense Option first before Adding to cart");
event.preventDefault();
break;
});
答案 1 :(得分:1)
Wirey的答案有效,另一种方法是从处理程序http://jsfiddle.net/aWPKp/
返回false$('input[name=addtocart]').click(function(){
return false;
});
更新由于这是表单提交,因此您应该处理提交事件,以便在按Enter键时也可以使用它。 http://jsfiddle.net/aWPKp/1/
$('#formId').submit(function(){
return false;
});