2012-09-02 52 views
0

我有下面的代碼行:如何從PHP中獲取價值的onclick聲明

echo '<INPUT TYPE="submit" name="delete" value="Delete account" onClick="return confirm('Are you sure you want to delete this account?')">'; 

我怎麼能夠確定用戶是否進入是或否?

+0

如果用戶點擊「否」,表單將不會被提交,否則會提交。 – j0k

+0

'confirm()'函數返回的值決定了用戶對提示的響應。是的,真的,沒有/取消的,假的。您已經擁有的代碼應該取消用戶操作,除了語法錯誤@rekire指出的操作。 – jeremy

回答

2

PHP是服務器端,它不會對客戶端做任何事情。點擊是在客戶端上,所以PHP無法處理。

onclick事件是JavaScript,它位於客戶端。詳細瞭解the Mozilla Docs中的onclick事件。

confirm()返回boolean,爲true或false。 true當用戶點擊'是',false當用戶點擊'否'

如果你想發送boolean到PHP你需要使用AJAX請求,但我不認爲你想要它,因爲你想停止提交表單。

1

你有一個語法錯誤在你的代碼,你需要躲避內'

echo '<INPUT TYPE="submit" name="delete" value="Delete account" 
    onClick="return confirm(\'Are you sure you want to delete this account?\')">'; 

你可以添加一個小腳本與JS標誌激活增加檢測是否刪除確認。例如: -

<input type="hidden" name="js_active" value="false"> 
<script type="text/javascript"> 
document.getElementsByName('js_active')[0]="true"; 
</script> 

因此,如果公式推的發送和js_activetrue你可以猜測用戶確認刪除。如果它是false JavaScript可能已停用,並且您無法知道刪除是否已確認。

+2

是的,但它回答了這個問題嗎?應該是評論.. – j0k

+0

我想我只是錯過了那部分不確定,但我增加了一個解決方案。 – rekire

0

由於confirm將根據用戶點擊的內容返回true或false,因此如果用戶點擊否,您將「知道」用戶點擊Yes,因爲如果用戶點擊否,您將阻止提交。除此之外,除非您在點擊時修改請求內容,否則無法找出用戶點擊的內容,例如,您必須將點擊結果作爲參數發送到服務器,作爲表單的一部分或通過URL參數。但請注意,只有當用戶在瀏覽器中激活JavaScript時纔會發送。