2013-06-27 31 views
0

我有一个表单,下面有两个按钮,我想用jquery发布到URL而不是默认的表单action.However,当我点击Like按钮或不喜欢按钮,它仍然带我到saveFeedback url这是默认的HTML表单操作,而不是jQuery的一个。任何帮助表示赞赏。默认的html动作调用,而不是jQuery,而点击表单按钮

感谢

<body> 

<form id="saveuserFeedback" class="form" action="{% url saveFeedback %}" method="post" class="ajax"> 
... 
... 
<input type="submit" class="btn" id="Like" value="Like"/> 
<input type="submit" class="btn" id="Discuss" value="Dislike"/> 
... 
</form> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#Like").click(function (e) { 
      e.preventDefault(); 
      alert ('Like clicked'); 
      console.log('reached here');    
      $.post("/saveFeedback2/",{ feedbackStatus:"Like", feedbackNoteID : "12345" });      
      }); 
     $("#Dislike").click(function (e) { 
      e.preventDefault(); 
      alert ('Dislike clicked'); 
      console.log('reached here');    
      $.post("/saveFeedback2/",{ feedbackStatus:"Dislike", feedbackNoteID : "12345" });      
      }); 
</script> 

+0

当你发布使用jQuery,如果这就是你以后它不会做重定向。 –

+0

谢谢,它现在可以工作。问题是json格式化。 –

回答

1

写:

e.preventDefault(); 
e.stopPropagation(); 

,而不是

e.preventDefault(); 

而且

$.post("/saveFeedback2/",{ feedbackStatus:"Like", feedbackNoteID : "12345" }); 

代替

$.post("/saveFeedback2/",{ feedbackStatus:"Like", feedbackNoteID = "12345" }); 
0

使用

$(document).ready(function() { 
    $("#saveuserFeedback").submit(... 

,而不是它应该工作

+0

感谢您的回复。我需要能够区分“点赞”是什么时候点击或何时点击“不喜欢”。那么如果我抓住#saveUserFeedback,我该怎么做? –

+0

在按钮上注册单击事件并保存单击了哪个事件 – trollr

0

使用两种e.preventDefault();e.stopPropagation();

还要确保您关闭该窗体</form>

相关问题