2014-03-25 19 views
1

當我按okay時,一切正常到目前爲止。但是當我按取消,它確實做了,如果我按下好的...我的代碼有什麼問題? :/javascript confirm()永遠是真的......什麼是錯的?

<?php if(isset($_POST['supprimer'])) { ?> 
    <script>var r = confirm('Etes-vous sur de vouloir supprimer?'); 
    if(r == true) { <?php $object->supprimer($_POST['rowID']); ?> 
    }</script> 
    <?php } ?> 
+0

'console.log(typeof(r),r);' –

+0

[我無法重現](http://jsfiddle.net/Rz2je/)。 – Daedalus

+0

你可以試試if(r)if(r == true) – Fisherman

回答

15

你內心的PHP腳本不管JavaScript的條件的執行,因爲PHP運行呈現頁面之前,因此,之前的JavaScript。您需要使用ajax或頁面重新加載才能使PHP在條件JavaScript語句上運行。

2

PHP在JavaScript之前運行。

$object->supprimer($_POST['rowID']) 

已在瀏覽器加載JavaScript時提交。

1
<?php 
$supreme = 'yes'; 
if(isset($supreme)) { ?> 
<script> 
var r = confirm('Etes-vous sur de vouloir supprimer?'); 
alert(r); 
if(r == true) { 
alert('pressed Yes'); 
} 
else 
{alert('pressed Cancel');} 
</script> 
<?php } ?> 

嘗試上面的代碼 - 它將反映在確認彈出窗口中選擇的值。