У меня есть навигационное меню, которое мне нравится использовать, потому что это делает навигацию быстро и легко:Подтвердить запись удаления без щелчка PHP
<form action="../">
<select onchange="window.open(this.options[this.selectedIndex].value,'_top')">
<option value="" selected="selected">Navigate</option>
<option value="view_record.php?file_id=<? echo $row['file_id']; ?>">View</option>
<option value="delete_record.php?file_id=<? echo $row['file_id']; ?>" >Delete</option>
</select>
</form>
Оба OnChange Navigations ударил их соответствующие страницы .php, нет проблем.
Но для удаления записи, как это делается, как только пользователь нажимает на этот выбор в меню навигации, они являются тостами, если они непреднамеренно выбирают его.
Я попробовал несколько вещей, чтобы каким-то образом изменить OnClick Javascript вещь:
echo "<td><a onClick=\"javascript: return confirm('Please confirm deletion');\" href='delete.php?id=".$query2['id']."'>DELETE</a></td><tr>";
, который работает при нажатии кнопки «Удалить», но в моем меню навигации, это событие OnChange.
Я попытался это:
<form action="../">
<select onchange="window.open(this.options[this.selectedIndex].value,'_top')">
<option value="" selected="selected">Navigate</option>
<option value="view_record.php?file_id=<? echo $row['file_id']; ?>">View</option>
</select>
</form>
<form action="../">
<select onchange="javascript: return confirm('Please confirm deletion');">
<option value="" selected="selected">Navigate</option>
<option value="delete_f.php?file_id=<? echo $row['file_id']; ?>" >Delete Case </option>
</select>
</form>
Но все, что делает складывает два меню на верхней части друг друга.
Я искал способ иметь какой-то условный оператор, чтобы изменить событие onchange на основе ссылки, но ссылка находится под командой «select onchange», что означает, что она сначала считывается.
Я попытался добавить код на ожидающую php-страницу, чтобы открыть окно подтверждения подтверждения, но все, что у меня получилось, было поле с «ОК», а не «ОК» и «Отмена», чтобы вернуться в прежняя страница в случае отмены.
EDIT
Я попытался добавив это страницы PHP:
echo '<script language="JavaScript" type="text/javascript">';
echo 'var checK = confirm("Are you sure to delete?")';
echo 'if (!checK)';
echo '{';
echo 'history.go(-1); ';
echo '}';
echo '</script>';
, но ничего не происходит
Я попытался это:
echo '<script language="javascript">';
echo 'confirm("message successfully sent")';
echo '</script>';
, но когда я нажимаю отменить, есть не возвращается на предыдущую страницу. Я не знаю, как заставить php распознать пользователя, нажав «Отменить», чтобы перейти назад. Кроме того, даже если я нажму «Отмена», остальная часть кода php просто запустится.
protip: * никогда * ставим JS inline. Нужен обработчик onchange? '
Как коллеги-пользователи предполагают, вы должны избегать использования инлайн JS или смешать PHP с JavaScript. Код, который вы пытаетесь сделать выше, должен выглядеть так.
Ваш код формы
И тогда ваш сценарий
Таким образом, вы можете динамически использовать функцию JS без его использования встроенного или без повторения его в петлю.
источник
2016-04-07 05:18:10
Говорят, что не сказать спасибо, но поскольку моя репутация всего лишь 6, я не могу дать вам кредит. Я никогда бы не придумал этот код, и он идеально подходит для этой задачи, чистый и эффективный. – user6096423
@ user6096423 Если это решает вашу проблему, вы можете принять ответ и закрыть вопрос. –
источник
2016-04-07 05:22:28 Atiqur