| |
|
|
| | кто нить плиз приведите пример использования диалога confirm+PHP | |
| |
|
|
| |
|
|
| |
для: KPETuH
(14.06.2006 в 07:29)
| | |
if (!empty($chek))
{
if ($del=="Delete")
{
?>
<script language='JavaScript'>if (confirm('Delete this?'))
{
<?
print "alert('AD');";
if (is_dir($act."/".$chek))
{
$path=$act."/".$chek;
full_del($path);
}
else
{
unlink($act."/".$chek);
}
$dir=$act;
}
}
?>
}
else
{
<?
print "alert('dd');";
$dir=$act;
?>
}
</script>
<?
|
проблема в том что если пользователь нажимает кансел в диалоге, объект все равно удаляется! Confirm работает нормально (алертами проверил), удаление все равно происходит. | |
| |
|
|
| |
|
|
| |
для: KPETuH
(14.06.2006 в 09:10)
| | | хм...
можно скрипт удаления запихнуть в отдельный файл ...
и в яваскрипт написать:
<script language='JavaScript'>if (confirm('Delete this?'))
{
this.location.href='del.php';
}
else
{
alert ('dd');
}
</script>
|
| |
| |
|
|
| |
|
|
| |
для: NFR
(14.06.2006 в 09:24)
| | | хотелось бы что бу все работало в одном файле, такое ощущение что конфирм рефрешит страницу и потому происходит сбой, как вообще конфирм работает? рефрешит он страницу или нет? | |
| |
|
|
| |
|
|
| |
для: KPETuH
(14.06.2006 в 09:37)
| | | конфирм страниц не рефрешит (если ему прямо не сказать, чтобы он рефрешил).
Вообще, метод конфирм возвращает булево значение (true (при ножати ОК) или false (при нажатии Cancel). В данном кокретном примере при возвращении значения true выполняется скрипт, идущий после if. При false - соттветсвенно, скрипт следующий за else.
твой скипт не выполняется так, как нужно, так как сначала (ещё на сервере) выполнются скрипт php (удаление файла), а уж только потом, клиентом задаётся вопрос об удалении файла.
сделать в одном файле можно примерно так:
<?
if($del==yes)
{
//Тут идёт скрипт удаления файла.
}
?>
<script>
if(confirm("Удаляем?"))
{
this.location.href='?del=yes';
}
else
{
alert('Не хочешь - как хочешь');
}
</script>
|
Без рефреша это организовать труднее (хотя можно). | |
| |
|
|
| |
|
|
| |
для: NFR
(14.06.2006 в 12:43)
| | | проблему понял но данное решение мне не подходит по ряду причин. придется сделать корзину для удаленных фалов всем спасибо за помощь | |
| |
|
|
| |
|
|
| |
для: KPETuH
(14.06.2006 в 09:10)
| | | Сначала будет выполняться php код на стороне сервера, а только потом на стороне браузера код на JS. Поэтому сначало сгенерируется код на JS, потом, в зависимости от условия функция full_del($path); или unlink($act."/".$chek);. В итоге браузер получит следующий код и выполнит его:
<script language='JavaScript'>if (confirm('Delete this?'))
{
alert("AD");//или alert("dd"); в зависимости от условий
...
}
|
Че-то я, наверное не очень хорошо объяснил, но надеюся поймешь. =) | |
| |
|
|