funkcja js:
<script>
function potwierdzenie()
{
var x =flase;
x=confirm("Czy napewno chcesz usunąć konto?");
return x;
}
</script>
jak teraz przypisać to do zmiennej w php?
funkcja js:
<script>
function potwierdzenie()
{
var x =flase;
x=confirm("Czy napewno chcesz usunąć konto?");
return x;
}
</script>
jak teraz przypisać to do zmiennej w php?
A co by ci to miało niby dać? PHP jest ewaluowane po stronie serwera a JS po stronie klienta. Ergo skrypt JS wykona się zawsze później.
Tak jak powyżej. Od siebie dodam, że jeżeli masz problem tego rodzaju tzn. że źle podszedłeś do sprawy i na pewno jest dużo lepszy sposób zrobienia tego co chcesz.
Musisz wywołać zaptanie (najlepiej typu POST) korzystając z obiektu XmlHttpRequest, czyli użyć AJAX. Serwer dostanie w poście jaką tam chcesz wartość przekazać i usunie konto klienta. Oczywiście przy odpowiedzi 'NIE' możesz zakończyć obsługę po stronie przeglądarki.
Tak działają modne ostatnio aplikacje korzystające z wzorca REST. Tyle, że pisząc coś takiego warto mieć podstawy i użyć gotowej biblioteki javascriptowej lub frameworka serwerowego.
@chodnik: zamiast ajaxa wystarczy po prostu zwykły ukryty formularz, który się zasubmituje z danymi POST - na etapie w jakim jest autor zapewne byłoby to prostsze do urządzenia
Zrób tam normalny formularz i nie kombinuj skoro nie umiesz.
<font size="4">Opcja 1:</span>
Tworzysz formularze z atrybutem data-confirm
oraz wklejasz odpowiedni skrypt na końcu strony (skrypt można ulepszyć i zastosować addEventListener/attachEvent, w tym momencie jeżeli masz jakiś onsubmit
na formularzu to ten skrypt go nadpisze) - takich formularzy na stronie może być wiele, skrypt wklejasz raz (tuż przed zakończeniem </body>
).
<form method="post" action="usun.php" data-confirm="Czy napewno chcesz usunąć konto?">
<input type="hidden" name="id" value="1" />
<input type="hidden" name="inny parametr" value="costam" />
<input type="submit" value="usun konto uzytkownika"/>
</form>
var f = document.forms; // wszystkie formy z dokumentu
for (var i=0; i<f.length; i++) { // iterujemy po formach
var form = f[i]; // aktualna forma
form.onsubmit = function(event) { // nadpisujemy zdarzenie onsubmit
var str = this.getAttribute('data-confirm'); // pobieramy atrubut
if (str!==null) { // jeżeli atrybut istnieje
if (!confirm(str)) { // a user odrzuci okno dialogowe
event.preventDefault(); // zablokuj wykonywanie zdarzenia
return false; // jw. w zasadzie niepotrzebne, ale jakby się jakaś przeglądarka zbuntowala..
}
}
}
}
<font size="4">Opcja 2:</span>
W dokumencie masz ukryty formularz pod określony przypadek, ale submit możesz wywołać w dowolnym elemencie, po prostu dodając mu atrybut data-submit-form
. Na końcu dokumentu oczywiście skrypt. Zadziała z IE8+ i bez trybu kompatybilności! Przy przepisaniu pod jQuery zadziała wszędzie.
<div>
ple ple ple
<table>
<tr>
<th>costam</th><th>costam</th>
</tr>
<tr>
<td>dupa</td>
<td>
<a href="#" data-submit-form="jakas_forma_01">usun konto "dupa"</a>
</td>
</tr>
</table>
</div>
<form style="display: none;" id="jakas_forma_01" method="post" action="usun.php" data-confirm="Czy napewno chcesz usunąć konto?">
<input type="hidden" name="id" value="1" />
<input type="hidden" name="inny parametr" value="costam" />
</form>
var links = document.querySelectorAll('*[data-submit-form]'); // pobiera wszystkie elementy z atrybutem "data-submit-form"
for (var i=0; i<links.length; i++) { // iteruje po nich
var current = links[i];
current.onclick = function(event) { // nadpisuje zdarzenie onclick
var id = this.getAttribute('data-submit-form'); // pobiera wartosc atrybutu
var form = document.querySelector('#'+id); // wyszukuje pasujacą formę
if (form) { // jeżeli znalazł
var str = form.getAttribute('data-confirm'); // czyta z formy komunikat
if (str!==null) { // jak komunikat istnieje
if (confirm(str)) { // a user potwierdzi go
form.submit(); // submituj formularz
}
}
}
event.preventDefault(); // nie pozwól na wykonanie "normalnej" akcji po kliknięciu (np. przejście do linka)
return false;
}
}