2012-01-17 238 views
0

我對評論系統有JavaScript,但是當我點擊類名爲「com_submit」的提交按鈕時,除了頁面重新加載之外,沒有任何事情發生。即使我將表單留空並提交應該彈出的警報,但事實並非如此。我究竟做錯了什麼?.click功能不起作用

這裏是我的代碼:

$(function() { 

$('.com_submit').live("click", function() { 
    var comment = $("#comment").val(); 
    var user_id = $("#user_id").val(); 
    var perma_id = $("#perma_id").val(); 
    var dataString = 'comment='+ comment + '&user_id='+ user_id + '&perma_id=' + $perma_id; 
    if(comment=='') { 
     alert('Please Give Valid Details'); 
    } 
    else { 
     $("#flash").show(); 
     $("#flash").fadeIn(400).html('<img src="ajax-loader.gif" />Loading Comment...'); 
     $.ajax({ 
      type: "POST", 
      url: "commentajax.php", 
      data: dataString, 
      cache: false, 
      success: function(html){ 
       $("ol#update").append(html); 
       $("ol#update li:first").fadeIn("slow"); 
       $("#flash").hide(); 
      } 
     }); 
    } 
    return false; 
}); 
}); 

我一直在使用。點擊試過,.live和.bind沒有這些工作

+0

你還可以提供按鈕聲明嗎? – Praveen 2012-01-17 19:30:05

+0

是的,按鈕是:'' – Sygon 2012-01-17 19:30:47

回答

2

由於運行時錯誤和頁面重新加載,因爲它是一個鏈接,所以代碼中存在拼寫錯誤。

var perma_id = $("#perma_id").val(); 


$(function() { 

$('.com_submit').live("click", function() { 
    var comment = $("#comment").val(); 
    var user_id = $("#user_id").val(); 
    var perma_id = $("#perma_id").val(); 
    var dataString = 'comment='+ comment + '&user_id='+ user_id + '&perma_id=' 
    + perma_id;//<<<------ Here was the typo(You have used $perma_id) 
    if(comment=='') { 
     alert('Please Give Valid Details'); 
    } 
    else { 
     $("#flash").show(); 
     $("#flash").fadeIn(400).html('<img src="ajax-loader.gif" />Loading Comment...'); 
     $.ajax({ 
      type: "POST", 
      url: "commentajax.php", 
      data: dataString, 
      cache: false, 
      success: function(html){ 
       $("ol#update").append(html); 
       $("ol#update li:first").fadeIn("slow"); 
       $("#flash").hide(); 
      } 
     }); 
    } 
    return false; 
}); 
}); 
+0

謝謝,我不能相信我錯過了。修復了問題 – Sygon 2012-01-17 19:34:21

+0

我很高興它幫助你:) – ShankarSangoli 2012-01-17 19:37:31

0

這是工作正常的。換句話說,您的提交按鈕正在提交。你想要做的就是停止正常的行爲。試試這個:

$('.com_submit').live("click", function(e) { 
e.preventDefault(); 
. 
. 
. 

在代碼的頂部。