2014-03-28 74 views
0

任何人都可以告訴我爲什麼我的javascript函數適用於我的按鈕「onclick」,但不會從PHP回顯工作?代碼如下。謝謝!Javascript函數適用於按鈕點擊,但不適用於PHP echo

這工作:

<button onclick="activate_modal('info')">This Works!</button> 

但這並不:

<?php 
if(1==1){ 
echo "<script type='text/javascript'>"; 
echo "activate_modal('info');"; 
echo "</script>"; 
} 
else{ 
} 
?> 
+1

在頁面底部添加腳本 –

+2

你應該在定義activate_modal()函數後調用腳本。 –

回答

1

您必須更改代碼順序。首先你已經把你的PHP代碼。這是簡單的警報示例。試試這個

<?php 

    echo "<script type='text/javascript'>"; 
    echo "activate_modal('info');"; 
    echo " function activate_modal(a){alert(a);}"; 
    echo "</script>"; 

    ?> 


    <button onclick="activate_modal('info')">This Works!</button> 
+0

謝謝 - 我很確定這是答案。對我來說,你認爲在你稱之爲功能之後,我覺得這很愚蠢......但那可能是我缺乏交流經驗的原因。因此,如果我想多次調用同一個函數,那麼唯一能做到這一點的方法(使用PHP回聲)是每次需要使用它時都會一次又一次地聲明函數? – Lenny

+1

是的。我不知道你到底需要什麼。但事情是,如果你想通過PHP回聲方法創建JavaScript,你必須遵循這個順序。那麼只有你可以創建這些功能。 – Puvanarajan

+0

感謝您的幫助。我有「花哨」的模式,使用jquery/javascript淡入淡出整個屏幕並給出消息,然後讓你點擊任何地方關閉它。我使用PHP來驗證表單條目,我想基本上說「如果通過,繼續,如果不是,請調用jquery模式」...希望我可以簡單地使用PHP回聲調用函數,但我想這不是簡單。 – Lenny

0

試試這個

<body <?php echo "onload=activate_modal('info');"; ?> > 
---- 
---- 
</body> 
0

試試這個,這可能會幫助你打電話的功能。

<?php 
if ($ID = '') { 
echo "<script language=javascript>alert('Please enter a valid username.')</script>"; 
} 
?> 
0

在使用PHP時需要考慮的事情:它總是解釋的第一件事。可能的是,當告訴javascript調用該函數的HTML插入頁面時,您的JavaScript函數尚未加載。

您可以通過在HTML中聲明javascript函數之後隨時添加該腳本來解決此問題。

+0

謝謝 - 我實際上已經在頁面的「head」部分聲明瞭函數,並且我試圖在「body」部分中調用函數。這很奇怪,因爲它與按鈕「onclick」一起工作就好了,但不會在按鈕下方的php回聲中運行... – Lenny

+0

您可以嘗試的另一件事是將該php blurb移動到body標籤的最底部,所以當主體完成加載時它會被調用。正如其他答案建議,你可以把一些PHP插入到正文「onload」屬性的腳本。 – Helpful

+0

再次感謝 - 請參閱我對我選擇的答案的評論 - 更好地解釋我正在嘗試做的事情。感謝你的幫助。 – Lenny

相關問題