爲什麼這段代碼不在PHP內部工作?我想在用戶點擊具有「1」標識的圖像時彈出一個對話框。沒有彈出窗口出現onclick事件
<script>
echo "<script type='text/javascript'>
$id1 = document.getElementById('1');
$id1.onclick = function() {
alert('hello');
};
</script>";
爲什麼這段代碼不在PHP內部工作?我想在用戶點擊具有「1」標識的圖像時彈出一個對話框。沒有彈出窗口出現onclick事件
<script>
echo "<script type='text/javascript'>
$id1 = document.getElementById('1');
$id1.onclick = function() {
alert('hello');
};
</script>";
function one() {
\t alert('hello');
};
<a onClick="one()">Click me!</a>
的id屬性指定i ts元素的唯一標識符(ID)。
身份證可以採取何種形式沒有其他限制; 在 具體地,ID可以包括只是數字,以數字開頭, 開始以下劃線,由剛標點符號等
一個元素的唯一標識符可以被用於各種目的, 最值得注意的是作爲鏈接到使用 片段的文檔的特定部分的一種方式,作爲在腳本編寫時定位元素的一種方式,以及作爲從CSS定義特定元素的方式 。
只是試圖把一個input
元素與物業id="1"
,然後用document.getElementById
函數訪問它。有用。
但我同意這樣的標識很難閱讀,理解,甚至記住......只是「1」沒有告訴你有關元素的任何信息。我不會推薦使用這種方法。是的,最好是使用更多的「告訴」名稱,比如「按鈕進行測試」或者像這樣。
$
符號是指一個可變... PHP可變PHP標籤的上下文因爲工作。所以行$id1 = document.getElementById('1');
被解釋爲= document.getElementById('1');
並導致JS的語法錯誤。它首先被評估爲一個php變量,因爲它沒有被定義,所以沒有什麼可以回顯,所以你想添加到頁面的js腳本沒有完成。頁面的那部分源代碼如下所示:
<script type="text/javascript">
= document.getElementById('1');
.onclick = function() {
alert('hello');
};
</script>
你看,有沒有變量本身
取而代之的是,請嘗試以下組合代碼:
<?php
/*
If you declare a php variable, the value you assign to it becomes a JS
variable name and is echoed then in the script
*/
$id1 = "test";
echo "<script type='text/javascript'>
$id1 = document.getElementById('1');
$id1.onclick = function() {
alert('hello');
};
</script>"
?>
之後,如果你看看頁面的源代碼,你會發現變量聲明現在是正確的:
<script type="text/javascript">
// Var name has appeared!
test = document.getElementById('1');
test.onclick = function() {
alert('hello');
};
</script>
如果您在代碼中沒有犯過其他錯誤,單擊該按鈕應該會導致警報彈出。
我建議聲明瓦爾如下:
變種的varName =值;
否則變量自動變爲全局變量。你選擇的方式取決於你的目標和程序架構
你不能在你的元素上使用一個數字作爲ID。使用像elem1或更好的東西更具描述性 –
@帕特里克亨德你不對 – Dzmtrs
好吧,我很驚訝,你實際上只能使用數字作爲ID。我這是一個很好的做法是另一回事 –