2014-02-07 120 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()部分找到正确的元素...