2016-04-07 16 views
0

保存ボタンをクリックするたびに、名前が取得されません(最初の投稿は応答として名前を返します)。ただし、名前の値として名前は割り当てられません入力は隠されています。jQuery非表示の入力値が1秒ごとに空白になる

投稿が成功して保存した後にnameInput.val('');で空にしないと、姓が正しく保存されます。

$('#save').on('click', function() 
{ 
    var id = $("#field1").val(), 
    field2 = $("#field2").val(), 
    field3 = $("#field3").val(), 
    nameInput = $("#Name"), 
    comment = $("#comment").val(); 

    $.ajax({ 
     type: "POST", 
     data: { getCustomerName: id }, 
     url: 'dataprocess.php', 
     dataType: "json", 
     success: 
     function(response) 
     { 
      if(response.status == "success") 
      { 
       nameInput.val(response.customerName) 
      } 
      //alert(response.customerName); 
     }, 
     error: 
     function(response) 
     { 
      alert(response.status); 
     } 
    }); 

    var customerName = $("#Name").val(); 

    var data = { id: id, field2: field2, field3: field3, customerName: customerName, comment: comment }; 
    alert(customerName); 

    if(customerName == '') 
    { 
     var r = confirm("Name is empty, continue?"); 
    } 

    if(field2 == '' || field2 <= 0) 
    { 
     var r = confirm('Field2 empty, continue?'); 
    } 

    if(r == false) 
    { 
     return false; 
    } 

    $.ajax({ 
     type: "POST", 
     url: "dataprocess.php", 
     data: data, 
     dataType: "json", 
     success: 
     function(data) { 
     //        loader.hide(); 
     if(data.status === "error") 
     { 
      $('#notify').removeClass('alert-success').addClass('alert-danger'); 
     } 
     else 
     { 
      $('#notify').removeClass('alert-danger').addClass('alert-success'); 
      nameInput.val(''); 
     } 
      $('#notify').html(data.message).fadeIn(500).fadeOut(2000); 
     } 
    }); 
});  
+0

https://jsfiddle.net/arunpjohny/497qp2dw/1/? –

答えて

0

$ .ajax呼び出しは非同期です。応答を処理する前に、応答を待つ必要があります。

$('#save').on('click', function() { 
 
    var id = $("#field1").val(), 
 
     field2 = $("#field2").val(), 
 
     field3 = $("#field3").val(), 
 
     nameInput = $("#Name"), 
 
     comment = $("#comment").val(); 
 

 
    $.ajax({ 
 
     type: "POST", 
 
     data: { 
 
      getCustomerName: id 
 
     }, 
 
     url: 'dataprocess.php', 
 
     dataType: "json", 
 
     success: function(response) { 
 
      if (response.status == "success") { 
 
       nameInput.val(response.customerName) 
 
       var customerName = $("#Name").val(); 
 
       var data = { 
 
        id: id, 
 
        field2: field2, 
 
        field3: field3, 
 
        customerName: customerName, 
 
        comment: comment 
 
       }; 
 
       alert(customerName); 
 

 
       if (customerName == '') { 
 
        var r = confirm("Name is empty, continue?"); 
 
       } 
 

 
       if (field2 == '' || field2 <= 0) { 
 
        var r = confirm('Field2 empty, continue?'); 
 
       } 
 

 
       if (r == false) { 
 
        return false; 
 
       } 
 

 
       $.ajax({ 
 
        type: "POST", 
 
        url: "dataprocess.php", 
 
        data: data, 
 
        dataType: "json", 
 
        success: function(data) { 
 
         //        loader.hide(); 
 
         if (data.status === "error") { 
 
          $('#notify').removeClass('alert-success').addClass('alert-danger'); 
 
         } else { 
 
          $('#notify').removeClass('alert-danger').addClass('alert-success'); 
 
          nameInput.val(''); 
 
         } 
 
         $('#notify').html(data.message).fadeIn(500).fadeOut(2000); 
 
        } 
 
       }); 
 
      } 
 
     }, 
 
     error: function(response) { 
 
      alert(response.status); 
 
     } 
 
    }); 
 
});

関連する問題