2013-08-18 85 views
0

我一直在嘗試這麼久,但我不能讓if語句工作。我假設這是一個語法錯誤,但在與所有教程和其他SO問題進行比較時,我一直無法找到它。jQuery IF語句不起作用?

最終結果將是:如果表單操作是「add_task.php」,我希望jQuery獲取另一個文件的內容並將其前置到指定的div。

警報消息目前作爲故障排除措施。

'else'下的所有東西都可以正常工作,它只是'if'部分不會運行。

$("form").submit(function(event){ 
     event.preventDefault(); 
     var action = $(this).attr("action"); 
     var dataString = $(this).serialize(); 
     $.post(action, dataString, function(action){ 
      if(action == "add_task.php"){ 
       alert("Add!"); 
      }else{ 
       $(event.target).closest(".task_container").load("display_edit.php"); 
      } 
     });     
    }); 
+1

值得注意的是:它是一個JS'if'語句,而不是一個jQuery。 jQuery是JS。 – Utkanos

回答

1

你有一個閉包變量並命名爲action回調參數,我想你需要的是進行檢查,該請求被提交的URL是否是在這種情況下add_task.php重命名回調參數去別的

$("form").submit(function(event){ 
    event.preventDefault(); 
    var action = $(this).attr("action"); 
    var dataString = $(this).serialize(); 
    $.post(action, dataString, function(data){ 
     if(action == "add_task.php"){ 
      alert("Add!"); 
     }else{ 
      $(event.target).closest(".task_container").load("display_edit.php"); 
     } 
    });     
}); 
+0

啊,那個工作,我現在明白了!警報顯示正常,但我現在無法取得代碼。現在,我在if語句中包含的內容是'code' $ .get(「display_edit.php」,function(data){$(data).prepend(「#add」);}); 'code' – phpstudent

+0

你需要使用'$(data).prependTo(「#add」);}'或'$(「#add」)。prepend(data);}'' –

+0

Aha,這很有道理。我現在已經達到了它似乎我得到的文件不輸出任何數據。 – phpstudent