2015-08-17 6 views
-1

Это моя функция onclick. Код без инструкции if работает отлично. Я пытаюсь проверить, если sbmt равно 1, и только затем удалите строку. Но как только я добавляю оператор if, строка не может быть удалена. Что не так с моим кодом?AJAX inside if statement

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

спасибо вы искренне !! Я обновил ... если else еще не запущен. @ bond – Jan

+0

Ну, вам не хватает точки с запятой на 'var SBMT = <% = objRS (" SBMT ")%>'. Это должно быть 'var SBMT = <% = objRS (" SBMT ")%>;'. – Bond

+1

используйте отладчик, посмотрите на значение переменной – djna