Oba działają. Zastosowałem jednak swój zapis bo jest dla mnie czytelniejszy - wszystko mam w jednym miejscu. A funkcja i tak będzie działać w obrębie tylko tej akcji.
Mam taki kod:
$(".edit").click(function(){
var id = $(this).attr("id");
var name = $(this).attr("title");
var type = $("#type").val();
function Edycja() {
var answer = prompt("Wpisz nazwę kategorii:", name);
if (answer=="") { alert("Nazwa kategorii nie może być pusta"); Edycja();}
else if (answer) {
$.ajax({
type: "POST",
url: "a_editcategory.php",
data: {id: id, name: answer, type: type},
success: function(){window.location.reload();},
});
} else { return false; }
}
Edycja();
});
Z tym, że teraz w IE7 (nie wiem jak inne) nie chce wywoływać się prompt. Strona przeładowuje się a właściwie to ładuje plik index.php. Dziwne bo nigdzie nie ma do niego odwołania, poza tym, że jest <a href="#">. Ale to raczej nie to.
I jeszcze jedna rzecz., Da się zrobić w IE żeby prompt wyglądał jakoś inaczej? W FF jest spoko, w miare ładny, pojawia się na środku natomiast w IE wygląda jak sprzed wojny

I na dodatek pojawiasię w rogu ekranu (żeby chociaż to się dało zmienić). Aha, nie chce stosować żadnych customowatych wyglądów jakie oferuje jquery. Chodzi mi tylko o zwykły komunikat z tekstem do wpisania.
Cytat(vokiel @ 18.12.2009, 09:28:33 )

To zależy co masz na tej stronie, co te .edit edytuje. Możesz to zrobić live w js, czyli po prostu podmienić wartość na tą edytowaną, bądź po wykonaniu zapytania załadować od nowa. Napisz co ten skrypt robi będzie mi łatwiej opisać.
A więc tak... Jest to strona z kategoriami, .edit to <a href>:
<a href='' class='edit' id='".$row['id']."' title='".$row['name']."'>[edytuj]
</a>
Po kliknięciu uruchamia się okienko z nazwą i po wpisania jest ona updatowana w bazie.