Aktywne Wpisy

Czasami zapominam dlaczego kogoś dodałem na czarną, ale wchodzę wtedy na taki profil i przypominam sobie XD.
Poza tym, nikt tam za darmo nie siedzi.
Poza tym, nikt tam za darmo nie siedzi.

ProstyHuop +47
Skopiuj link
Skopiuj link

Wykop.pl
Mam okno edycji rekordów w bazie oparte na JQuery UI i tam button zapisz zmiany. Problem polega na tym że usiłuję zablokować przycisk po kliknięciu żeby skrypt mógł się wykonać, ale przykładowo przy dodawaniu rekordów skrypt wykonuje się kilka razy jak kliknę raz szybko to jest OK, ale przy dłuższym przytrzymaniu buttona, albo szybkich kilku kliknięciach dojdę 2-50(!) rekordów, bo zdarzenie click zdaje się wywoływać losową ilość razy ... :(
Jakieś pomysły?
function after_lod_left() {
$(".add_records_btn").button({
icons: {
primary: "ui-icon-plusthick"
}
});
$(".open_edit_window, .add_records_btn").click(function () {
// po otworzeniu okna edycji
//
// alert($(this).attr('id'));
$("#dialog").text("Loading ...");
$(function () {
$("#dialog").dialog({
show: {
effect: "drop",
duration: 700
},
hide: {
effect: "drop",
duration: 700
},
resizable: false,
height: 600,
width: 870,
modal: true,
buttons: {
"Zapisz zmiany": function () {
$(":button:contains('Zapisz zmiany')").prop("disabled", true).addClass("ui-state-disabled");
$("#splash").css("display: inline");
$("#super_data_form").submit(function (event) {
// Stop form from submitting normally
event.preventDefault();
// Get some values from elements on the page:
var $form = $(this),
term = $form.serializeArray(),
url = $form.attr("action");
// Send the data using post
var posting = $.post(url, {data: term});
// Put the results in a div
posting.done(function (data) {
//var content = $().find("#left");
$("#save_console").empty().append(data);
$(function () {
$("#save_console").dialog({
resizable: false,
height: 600,
width: 700,
modal: true,
buttons: {
"Wszystko OK, koniec edycji": function () {
$(this).dialog("close");
$("#dialog").dialog("close");
$(":button:contains('Zapisz zmiany')").prop("disabled", false).removeClass("ui-state-disabled");
block_save = false;
},
"Kontynuuj edycję": function () {
$(this).dialog("close");
$(":button:contains('Zapisz zmiany')").prop("disabled", false).removeClass("ui-state-disabled");
block_save = false;
}
},
close: function () {
$(":button:contains('Zapisz zmiany')").prop("disabled", false).removeClass("ui-state-disabled");
block_save = false;
}
});
});
});
});
$("#super_data_form").submit();
},
"Anuluj": function () {
$(this).dialog("close");
}
}
});
});
$("#dialog").load("app/e.php?item=" + $(this).attr('id'), function (responseTxt, statusTxt, xhr) {
if (statusTxt == "success") {
// po otwarciu okna edycji
$(function () {
$("#tabs").tabs({
});
});
}
if (statusTxt == "error")
alert("Error: " + xhr.status + ": " + xhr.statusText);
});
});
}
chodzi konkretnie o wykonanie buttons: {
"Zapisz zmiany": function () {}
$(":button:contains('Zapisz zmiany')").prop("disabled", true).addClass("ui-state-disabled");
nie pomaga, blokuje przycisk ale funkcje wykonują się wcześniej kilka razy :(