2015-08-17 143 views
-1

這是我的onclick函數。沒有if語句的代碼完美運行。我試圖測試sbmt是否等於1,然後才刪除該行。但是,一旦我添加if語句,該行就不能被刪除。我的代碼有什麼問題?AJAX裏面if語句

function taskOnclick(row,task) { 
    var url = 'remove_task.asp?task='+task; 

    if (<%=("SBMT")%> === 1){ 
     $(this).row.closest('tr').remove(); 
     $.ajax({url: url, success: function(result){ 
      alert(result); 
     }}); 
    } 
}; 
<tr id="taskid"> 
     <% 
      If objRS("REAS") <> "" Then 
       strReason = "<br/><br/><b style=""color: red"">Reason: "&objRS("REAS")&"</b>" 
      Else 
       strReason = "" 
      End If 
      Response.Write "<td onclick=""taskOnclick(this,'"&objRS("TASK")&"')""><a href=""#"">" & objRS("TASK") & "<span>"&objRS("REMK")& strReason & "</span></a></td>" 
      Response.write "<td>" & objRS("DDAT") & "</td>" 
      Response.write "<td class=""days"" style=""text-align:center"">" & objRS("DAYS") & "</td>" 
      Response.write "<td >" & objRS("CDAT") & "</td>" 


     %> 
</tr> 

修訂

function taskOnclick(row,task) { 
    var url = 'remove_task.asp?task='+task; 
    var SBMT = <%=objRS("SBMT")%>; 

if (SBMT == '1'){ 
    row.closest('tr').remove(); 

$.ajax({url: url, success: function(result){ 
    alert(result); 
}}); 
} 
else if (SBMT == '0'){ 
    alert("NO"); 
} 
}; 

SQL

strWhere = " where acti= '1' " 
    strSQL = "select task,ddat,ddat-trunc(sysdate) as days,prog,pnam,remk,reas,nvl(to_char(cdat,'dd/mm/yyyy'),'INPG') as cdat,sbmt from task" & strWhere 
    strSQL = strSQL & "order by prog,ddat" 

回答

2

這條線:

if (<%=("SBMT")%> === 1){ 

將被寫入到您的文檔下面的JavaScript:

if (SBMT === 1){ 

JavaScript是要假定SBMT是一個JavaScript變量,並對其進行測試,看看它的值嚴格等於1。我看不出在你的代碼中定義該名稱的JavaScript變量,所以這會引起以下錯誤,當你的JavaScript運行:

Uncaught ReferenceError: SBMT is not defined

,因此,您if塊的內容決不會執行。

+0

真誠地謝謝你!我已經更新了..如果還沒有運行。@ bond – Jan

+0

好吧,你在var var SBMT = <%= objRS(「SBMT」)%>'上丟失了一個分號。它應該是'var SBMT = <%= objRS(「SBMT」)%>;'。 – Bond

+1

使用調試器,查看變量的值 – djna