2014-02-07 58 views
0

我正在做一個AJAX調用,一旦我得到響應,我想用一個標籤替換一個提交按鈕......但這不起作用。我得到警報味精即;來自Ajax調用但replacewith命令的響應失敗。jQuery replacewith Ajax調用後不工作

能否請你告訴我什麼是錯誤Im做..

Replacewith命令

$(this).closest('tr').find('input:label').replaceWith("<label for=\'success\'>SUCCESS</label>"); 

代碼:

$("#table_appl,#table_enfr,#table_det01,#table_det02,#table_det03,#table_det04,#table_det05,#table_datais").on("click", "input:submit", function(event) { 
    //alert('Hi') 
    //event.preventDefault(); 
    var fieldvalue = $(this).closest('tr').find('input:text').val(); 
    var fieldname = $(this).closest('tr').find('input:text').attr('name'); 
    alert('fieldname = ' + fieldname) 
    alert('fieldvalue = ' + fieldvalue) 
     $.ajax({ 

      type:"GET", 

      url:"/validate/", 
      data:{'fieldvalue':fieldvalue,'fieldname':fieldname}, 
      success:function(data){ 
       if (data == 'Y'){ 
        var item = $(this).closest('tr').find('input:label') 
        alert("Gonna be replaced" + item); 
        $(this).closest('tr').find('input:label'); 
        $(this).closest('tr').find('input:label').replaceWith("<label for=\'success\'>SUCCESS</label>"); 


       } 
       alert("Response = "+ data); 
      } 

     }); 

    return false; 


}) 
+1

可能重複的[通過ajax傳遞後變量](http://stackoverflow.com/questions/21614055/passing-post-variables - 通過阿賈克斯) – Barmar

回答

0

這裏有一個fiddle

而這裏的代碼:

<form role="form" method="POST" action="/validate/" id="input_form"> 
    <input id="myInput"> 
    <button type="submit" id="submitButton">Click me!</button> 
</form> 

的腳本:

$("#submitButton").click(function() { 
    event.preventDefault(); 
    $.get("/validate/", function (d){  
     if (d == "Y"){   
      $("#submitButton").replaceWith("<label>SUCCESS</label>"); 
     }      
    }) 
}) 

這是你想要什麼?我想你將不得不修改.replaceWith()部分找到正確的元素...