2012-12-14 3 views
1
echo"<td> <a href ='del.php?id=$id' onclick='return confirm('Are you sure?');'><center>Delete</center></a></td>"; 

Мне нужен запрос msg, поскольку пользователь нажимает «удалить», если он нажмет «ok», после чего он перенаправится на страницу, где данные будут удалены и если он/она нажмет «отменить», ничего не произойдет. , используя приведенный выше код, я не могу получить мои данные о полевых выводах напрямую, удаляя их.Ящик подтверждения JavaScript не работает в php

ответ

5

Вы смешиваете ' и " здесь.

echo "<td> <a href ='del.php?id=$id' onclick='return confirm(\"Are you sure?\");'><center>Delete</center></a></td>"; 

Ваш код был бы выведен следующим образом:

<td> 
    <a href ='del.php?id=123' onclick='return confirm('Are you sure?');'><center>Delete</center></a> 
</td> 

Даже от синтаксиса СЦ подсветки вы можете увидеть, что есть что-то неправильное в onclick обработчика. Там у вас есть ' внутри других '. Поэтому в этот момент вы должны заменить внутренний ' на ". Для этого в PHP (где у вас есть окружение "), просто откройте внутренний ", используя вместо этого \".

+0

все еще данные удаляются, но окно подсказки не появляется ... – user1903239

+0

@ user1903239 Работает в этой [скрипке] (http://jsfiddle.net/7xsXR/). – Sirko

0

Это не связано с PHP. Обработчик onclick тега a не остановит браузер от изменения местоположения. Вы могли бы сделать что-то вроде этого, вместо:

echo"<td> <a href='javascript:void' onclick='if (confirm(\"Are you sure?\")) window.location=\"del.php?id=$id\";'><center>Delete</center></a></td>"; 
+0

все еще данные удаляются, но окно подсказки не появляется ... – user1903239

+0

Была небольшая опечатка. Повторите попытку кода ... –

0

Для удаления сложности можно закодировать как:

$confirm="return confirm('Are you sure?');"; 
echo "<td> <a href ='del.php?id=$id' onclick='$confirm'><center>Delete</center></a></td>"; 

ИЛИ

echo "<script> function isConfirm() { if(!confirm('Are you sure?')) return false;}"; 
echo "<td> <a href ='del.php?id=$id' onclick='return isConfirm()'><center>Delete</center></a></td>"; 
0
echo"<td><a href ='del.php?id=$id' onclick=\"return confirm('Are you sure?');\"><center>Delete</center></a></td>"; 

Вы пропустили двойные кавычки OnClick = \» \ ";

Ваше подтверждение не было обнаружено программой из-за одинарных цитат >> onclick = 'return confirm («Are you sure?»);'

Смежные вопросы