2013-04-25 4 views
-1

У меня есть javascript-код, который вытаскивает файл PHP, и если он обновляет базу данных, он будет эхом. Успех: возраст обновлен! Он работает и все, но когда я нажимаю его несколько раз, он начнет это делать. Sucsess: Age Changed! Sucsess: Возраст изменен! Sucsess: Возраст изменен! .. Вот Javascript.Javascript posting несколько раз

function UpdateAge(Age) { 
    var newage = $("#NewAge").val(); 
    var dataString = 'newage=' + newage; 
    if (newage.length < 2) { 
     $('#Required').fadeIn(300); 
     $('#Mask').fadeIn(300); 
    } else { 
     $.ajax({ 
      type: "POST", 
      url: "update_age.php", 
      data: dataString, 
      cache: false, 
      success: function (updateage) { 
       $("#UpdatedAge").append(updateage); 
       $("#UpdatedAge").show().fadeOut(1200); 
      } 
     }); 
    } 

}

Как бы я его просто показать успех: Возраст Обновлено! один раз, вместо этого просто умножая каждый раз, когда я нажимаю? Вот кнопка для OnClick

<input type="submit" value="Update" onClick="UpdateAge(<?php echo $age ?>)" /> 
+0

Как именно вы называете «UpdateAge»? Как настроить обработчик событий «click»? – Pointy

+1

Добавил его в кодировку, извините! – user2321809

+0

атрибут onClick, yuck. попробуйте отделить js от ваших элементов. – smerny

ответ

1

Похоже, вам просто нужно опорожнить #UpdatedAge Element каждый раз.

function UpdateAge(Age) { 
    var newage = $("#NewAge").val(); 
    var dataString = 'newage=' + newage; 
    if (newage.length < 2) { 
     $('#Required').fadeIn(300); 
     $('#Mask').fadeIn(300); 
    } else { 
     $.ajax({ 
      type: "POST", 
      url: "update_age.php", 
      data: dataString, 
      cache: false, 
      success: function (updateage) { 
       $("#UpdatedAge").empty(); 
       $("#UpdatedAge").append(updateage); 
       $("#UpdatedAge").show().fadeOut(1200); 
      } 
     }); 
    } 
} 
1

проблема вы держите добавление, изменение содержимого вместо (просто изменить append к html)

$("#UpdatedAge").html(updateage); 
1

Просто использовать что-то, как

function UpdateAge(Age) { 
    var newage = $("#NewAge").val(); 
    var dataString = 'newage=' + newage; 
    if (newage.length < 2) { 
     $('#Required').fadeIn(300); 
     $('#Mask').fadeIn(300); 
    } else { 
     $.ajax({ 
      type: "POST", 
      url: "update_age.php", 
      data: dataString, 
      cache: false, 
      success: function (updateage) { 
       $("#UpdatedAge").html(updateage); 
       $("#UpdatedAge").show().fadeOut(1200); 
      } 
     }); 
    } 
} 

Как .html заменяет содержимое #UpdatedAge и не добавляйте его в контент, как .append.

+0

О, я не думал об удалении .apend! Большое спасибо, он работает! Хорошего дня! – user2321809

+0

@ user2321809 Это происходит, это нормально. Тебе также хорошего дня! :) –

Смежные вопросы