2013-12-11 123 views
0

發佈表的rowdata這是我的看法使用jqueryajax在Django看法

def endpointdetails(request): 
      return HttpResponse("Finally I have redirected.MY values are here) 

這是我的模板

HTML:

<TITLE> Add/Remove dynamic rows in HTML table </TITLE> 
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
    <div><table><tr><td><input type="button" value="Add Row" onclick="addRow('dataTable')" /></td><td><input type="button" value="Delete Row" onclick="removeRow()" /></td></tr></table></div> 
    <form id = "Endpoint" name="myForm" action = '/endpointdetails/' method = "POST">{% csrf_token %} 

     <table id="dataTable" style = "border-collapse:collapse;width:1100px;" border="1"> 


      <tr><td style='width:60px;'> 
    <input type="checkbox" name="chk" class="check" ></td><td style='width:130px;'>    <span></span> 

    <input type='text' class = 'productname' style='display:none;width:150px;'          value="Product Name"> 
    </td><td style='width:130px;'><span></span><input type='text' class = 'endpoint' style='display:none;width:150px;' value="EndPoint Name"></td><td style='width:130px;'> 
    <span></span><input type='text' class = 'ipaddress' style='display:none;width:150px;' value="IP Address"></td><td style='width:130px;'> 
    <span></span><input type='text' class = 'server' style='display:none;width:150px;' value="ServerName"></td> 
    <td style='width:130px;'><span></span><input type='text' class = 'Hmsg' style='display:none;width:150px;' value="Actual High Message"></td> 
    <td style='width:130px;'><span></span><input type='text' class = 'lmsg' style='display:none;width:150px;' value="Actual Low Message"></td> 
    <td style='width:130px;'>   
    <input type='button' id='edit' value='Edit' onclick='editRow(this);'><input type='button' id='update' value='Update' onclick='updateRow(this);' style='display:none;'> 
    </td></tr> 

     </table> 
     </form> 

CSS:

<style type="text/css"> 
     .democlass{ 
      color:red; 
     } 
    </style> 

腳本:

<SCRIPT type="text/javascript" language="javascript"> 

     function addRow() { var rowCount = $("#dataTable tr").length;    
     rowCount = parseInt(rowCount)-1; $("#dataTable tr:eq("+rowCount+")").after("<tr><td 
     style='width:60px;'><input type='checkbox' name='chk' class='check'></td><td 
      style='width:130px;'><span></span><input type='text' class = 'productname' 
     style='display:none;width:150px;' value='Product Name'></td><td style='width:130px;'><span> 
     </span><input type='text' class = 'endpoint' style='display:none;width:150px;' 
     value='EndPoint Name'></td><td style='width:130px;'><span></span><input type='text' class = 
     'ipaddress' style='display:none;width:150px;' value='IPAddress'></td><td 
      style='width:130px;'><span></span><input type='text' class = 'server' 
     style='display:none;width:150px;' value='ServerName'></td><td style='width:130px;'><span>  
     </span><input type='text' class = 'Hmsg' style='display:none;width:150px;'  
     value='ActualHighMessage'></td><td style='width:130px;'><span></span><input type='text' 
    class = 'lmsg' style='display:none;width:150px;' value='Actual Low Message'></td><td 
     style='width:130px;'><input type='button' id='edit' value='Edit' 

     onclick='editRow(this);'><input type='button' id='update' value='Update'  
      onclick='updateRow(this);' 
      style='display:none;'></td></tr>"); 
     } 
       function removeRow() {   
       $(".check").each(function(i,obj){ 
       if($(obj).is(":checked")){ 
        if($("#dataTable tr").length > 1) 
         $(obj).parent().parent().remove(); 
       }   });   } 

     function editRow(object) { var rowObj = $(object).parent().parent();   $(rowObj).find("td").each(function(i,obj){ 
       $(obj).find("span").hide('fast',function(){ 
        $(obj).find("input").show('slow'); 
       });    });    
      $(object).parent().find("input#edit").hide('fast',function(){ 
       $(object).parent().find("input#update").show('slow');   
      });   } 

       function updateRow(object) { 
      alert(csrftoken); 
     var rowObj = $(object).parent().parent();          
     var prodname,endpoint,ip,server,Hmsg,lmsg;   $(rowObj).find("td").each(function(i,obj){ 
       if(i==1) 
        prodname = $(obj).find("input.productname").val(); 
       if(i==2) 
        endpoint = $(obj).find("input.endpoint").val(); 
       if(i==3) 
        ip = $(obj).find("input.ipaddress").val(); 
       if(i==4) 
        server = $(obj).find("input.server").val(); 
       if(i==5) 
        Hmsg = $(obj).find("input.Hmsg").val(); 
       if(i==6) 
        lsmg = $(obj).find("input.lmsg").val();    }); 


      $.post("/endpointdetails/",{Hmsg:Hmsg,lmsg:lmsg} ,function(received){    
      alert(received); }); 

       } 


    </script> 

我已經嘗試了上面的代碼,不能重定向到的意見。

我已經閱讀了關於CSRF的Django文檔,但無法理解如何使用它。

任何人都可以請有關什麼是錯

+0

您是否在開發服務器控制檯或瀏覽器控制檯中遇到錯誤? – mariodev

+0

由於我張貼到endpointdetals視圖不trigering.After後甚至警報不起作用 我沒有得到任何錯誤 – user3074084

回答

0

解釋如果其CSRF問題...然後在您的文章數據添加一個參數csrfmiddlewaretoken像下面和你的代碼將被罰款。

$.post("/endpointdetails/", 
      {'Hmsg':Hmsg, 'lmsg':lmsg, 'csrfmiddlewaretoken':$("input[name='csrfmiddlewaretoken']").val()} ,function(received){    
      alert(received); }); 
+0

感謝您的答覆。它力氣工作。我無法進入endpointdetails意見。位今天驚訝沒有人回答問題 – user3074084

+0

你是否無法看到控制檯中的錯誤...後調用什麼錯誤.. – Aks

+0

我沒有得到錯誤控制檯even.Just 200狀態出現 – user3074084