2009-06-23 28 views
-7

我正在轉貼這篇文章,我剛剛發佈了一段時間。 how do i write a javascript alert box to give a yes or no question and integrate with php calls?我該如何編寫一個JavaScript警告框來給出一個是或否的問題並與php調用集成? (轉貼)

我沒有得到任何迴應,所以我想這個帖子在那裏丟失了。 什麼,我想這樣做是這樣的

<script type="text/javascript"> 
if(window.confirm("Are you sure you want to delete that record?")) { 
<?php 
mysql_query("delete from tbl_payments where id = '$id'") or die(mysql_error()); 
header("Location: dashboard.php"); 
?> 
} 
</script> 

,並沒有工作。記錄剛被刪除,一旦我按下鏈接刪除。 我做錯了什麼?感謝

PS:我不能做阿賈克斯但即時尋找這樣做的一個簡單的方法,所以我可以理解它是如何工作的

感謝

+1

你沒有得到任何答案,因爲你的大寫鎖定和標點符號鍵過去和現在都仍然是斷開的。您可能首先嚐試修復關鍵字。請不要轉發。在這裏重新提出問題的方式是發放獎金。 – phihag 2009-06-23 21:56:51

回答

4

不能使用JavaScript控制的PHP代碼中的流動你提供的方式。該記錄總是被刪除的原因是因爲PHP解釋器一看到<?php標識符就立即進入,因此該語句將始終執行。

我會嘗試這樣的事:

  • 使用標準的形式和方法post提交刪除
  • 使用JavaScript中記錄的ID,以增強形式;綁定到submit事件,然後您可以要求確認,只允許表單提交,如果他們說好。

以這種方式,JavaScript增強了功能性,並且它會優雅地退化。您仍然必須實施從處理表單提交的PHP腳本中刪除行的所有業務邏輯。

2

從我可以收集你不理解的是PHP運行在服務器上,而客戶端的JavaScript上運行。遵循@Peter的建議,在閱讀並理解它之前,先閱讀並學習更多。一個基本的解決將是這樣的:

<script type="text/javascript"> 
function deleteRecord(id) { 
    if(window.confirm("Are you sure you want to delete that record?")) { 
     window.location.href = 'myScript.php?id=' + id; 
    } 
} 
</script> 

在你myScript.php:

<?php 
$id = $_GET['id']; 
mysql_query("delete from tbl_payments where id = '$id'") or die(mysql_error()); 
header("Location: dashboard.php"); 
?> 
0

你可以使用這樣的事情:

<script type="text/javascript"> 
    function askUser() { 
    return window.confirm("Are you sure you want to delete that record?"); 
    } 
</script> 

,然後在你的HTML:

<a href="delete.php?id=42" onclick="return askUser();">delete record</a> 
當然

你需要CR吃掉一個文件delete.php,它處理你所有的刪除邏輯。

ps。在現實生活中,你應該避免內聯JavaScript,我只是用在這裏爲這個簡單的例子

相關問題