2016-04-27 50 views
0

我有一個表單,當您提交表單時,會顯示一條JavaScript消息。我如何確認JavaScript中的某些內容,然後使用

$message = "Want to insert?"; 
echo "<script type='text/javascript'>window.confirm('$message');</script>"; 

而我想要做的是,如果人點擊「確定」將其插入數據庫中的值,如果不是取消它。

$titulo = $_POST['titulo']; 
$mensagem = $_POST['mensagem']; 
$ano = $_POST['ano']; 
$mes = $_POST['mes']; 
$dia = $_POST['dia']; 
$link = " "; 
+1

如果你希望它是互動的,你必須使用AJAX。 –

回答

2

在簡單的話,PHP執行第一,然後客戶端的JavaScript來執行。如果你希望它是交互式的,你必須使用AJAX,這將允許你發送由JavaScript控制的PHP命令。

如果我是你,我會做這樣的:

if (confirm("Are you sure?")) 
    $.post("path/to/php.php", {data: you_need_to_send}, function (response) { 
    if (response == "OK") 
     alert("All Done!"); 
    }); 
else 
    alert("You cancelled the insertion."); 

注:這裏,$.post()是一個jQuery實現AJAX POST方法。爲了便於解釋,我給了這個。請不要因爲回答JavaScript問題的jQuery方式而對我大喊大叫。


更新

您可以使用表格的onsubmit使這成爲可能。請確保你給一個return的事件中:

<form method="post" action="http://example.com/" onsubmit="return confirm('Are you sure?');"> 
 
    <input /> 
 
    <input type="submit" value="Send" /> 
 
</form>

運行上面的代碼,並檢查了。

+0

我不知道AJAX這就是問題 – Leonoliveira

+1

@Leonoliveira可以,如果你可以在你的應用程序中使用jQuery?該文件非常好。但你是否明白我在回答中所說的話? –

+0

我可以。我不知道什麼,但AJAX但你的解釋是非常好的thx男人 – Leonoliveira

3

使用<form>標記,並處理onsubmit事件。一旦他點擊消息框上的「確定」提交表單。

一旦表單被提交,在服務器端(PHP)編寫代碼來獲取數據(通過GET/POST這種方式發送)並插入到表中。

+1

啊...這是一個更好的方法。爲什麼我沒有想到這個? –

+1

這是使用它的合法方式。客戶端交互不應該從服務器端進行控制。 –

0

您需要將使用請求的數據傳遞到您的服務器。您不能直接使用JavaScript將數據庫直接寫入數據庫,因爲您已經使用PHP

但是在發送請求之前確認用戶,或者在發送請求之前在JavaScript代碼中使用此信息。

if (confirm('Your Message')) { 
    // User click OK 
    // Send your data to server using a Request 
} else { 
    // User click cancel 
} 
相關問題