3 回答

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊
PHP 是服務(wù)器端,JavaScript 是客戶(hù)端(不考慮 NodeJS)。
也就是說(shuō),當(dāng)你調(diào)用頁(yè)面時(shí),PHP 完全運(yùn)行,無(wú)需等待你制作的 JavaScript,實(shí)際上 PHP 只構(gòu)建包含腳本的網(wǎng)頁(yè),只有當(dāng)瀏覽器收到該頁(yè)面時(shí)才會(huì)執(zhí)行 JavaScript,但 PHP 已經(jīng)完成它的所有執(zhí)行。
在您的示例代碼中,$answer
包含的是字符串<script type='text/javascript'> document.write(answer); </script>
而不是 JavaScript 的執(zhí)行結(jié)果,因?yàn)?PHP 無(wú)法執(zhí)行這樣的腳本。
如果要在瀏覽器上下文中執(zhí)行此 PHP,則需要更改 JavaScript 以調(diào)用在查詢(xún)中傳遞確認(rèn)對(duì)話框值的 PHP url,并且 PHP 使用類(lèi)似的內(nèi)容檢查傳遞的查詢(xún),parse_str($_SERVER['QUERY_STRING'], $query);
并且僅在以下情況下構(gòu)建頁(yè)面none 被傳遞并繼續(xù)執(zhí)行,如果它收到true
.
@v-prince 的回答讓你知道如何做客戶(hù)端。

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超3個(gè)贊
我希望這會(huì)給你一些想法..祝你好運(yùn)
示例.html
<input type='button' class='test'>
<!-- make sure you have a jquery plugin and check the path of your jquery -->
<script src="jquery.js"></script>
<script>
$(document).ready(function(){
$('.test').click(function(){
var answer = confirm('are you sure you want to click me?');
$.ajax({
url : 'yourPHP.php',
type : 'post',
data : { answerValue : answer },
success : function( result ){
// do something
}
});
});
});
</script>

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊
您的條件將在 PHP 中執(zhí)行,而不是在 javascript 中執(zhí)行。
轉(zhuǎn)換為布爾值時(shí),以下值被視為 FALSE:
the boolean FALSE itself
the integer 0 (zero)
the float 0.0 (zero)
the empty string, and the string "0"
an array with zero elements
an object with zero member variables (PHP 4 only)
the special type NULL (including unset variables)
SimpleXML objects created from empty tags
還要注意
var_dump(0==FALSE); //bool(true)
var_dump(0===FALSE); //bool(false)
添加回答
舉報(bào)