Napsal jsem si takovej jednoduchej skriptik a potreboval bych ho uvest do provozniho stavu
Měl by pracovat asi takto:
- po kliku na odkaz zobrazit confirm hlasku
- pokud OK zobrazit prompt hlasku
- pokud OK vrátit jako odkaz s promennou z promptu a pokracovat na adresu
- jestlize se pri confirm nebo prompt zvoli storno, melo by to vratit false a nepokracovat na odkaz
Tady vzorek toho, co jsem se pokusil splacat:
<script><!--
function smazat()
{
var pokracovat = confirm('Opravdu chcete smazat záznam?');
if(pokracovat) var duvod = prompt('Uveďte prosím důvod:', '');
if(duvod) var adresa='http://domena.cz/stranka.php?duvod='+duvod;
return adresa;
}
//--></script>
<a href="javascript:smazat();">Odkaz</a>
Jeste jsem to predelal a vicemene to funguje, ale je nezadouci, aby se mi pak promenna adresa vepsala do stranky. Nevim jak to eliminovat.
<script><!--
function smazat()
{
var pokracovat = confirm('Opravdu chcete smazat záznam?');
if(pokracovat) var duvod = prompt('Uveďte prosím důvod:', '');
if(duvod) var adresa='http://domena.cz/stranka.php?duvod='+duvod;
lacation.href(adresa);
}
//--></script>
<a href="javascript:smazat();">Odkaz</a>
<form ... action="stranka.php" method="post">
js dát na submit tlačítko (může vypadat jako odkaz nebo js vyrobí na onclick submit formulář) a text napsat javascriptem do hidden inpnputu, nebo přímo do std inputu, ušetří se tím jeden krok.
onclick u submitu pak vráží true/false podle toho, jestli confirm projde nebo ne.
No s true/false tam problem neni. Problem je, ze se primo promenna adresa vypise do stranky. Jo a jeste teda Firefox nejak ignoruje location.href...
Ted uz je jenom problem v tom FF, script zustava stejny.
Ukazka: http://poker.czweb.org/zkouska.php
BTW: Ta promenna se mi tam vypisovala protoze jsem tam mel jeste <?echo $duvod;?> - no proste jsem blbej:D
Tak jsem to vyresil. FF z nejakeho, pro me nepochopitelneho duvodu ignoroval location.href. Tak jsem to nahradil location.replace a uz to beha v pohode.
Kazdopadne diky za snahu...
Konecna verze:
<script><!--
function smazat()
{
var pokracovat = confirm('Opravdu smazat?');
if(pokracovat) var duvod = prompt('Uveďte prosím důvod:', '');
if(duvod) var adresa='http://adresa.cz/test.php?duvod='+duvod;
location.replace(adresa);
}
//--></script>
<a href="javascript:smazat();">Odkaz</a><br>