2016-04-07 1 views
0

У меня есть навигационное меню, которое мне нравится использовать, потому что это делает навигацию быстро и легко:Подтвердить запись удаления без щелчка 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 просто запустится.

+0

protip: * никогда * ставим JS inline. Нужен обработчик onchange? '