2011-10-26 95 views
0

我有一個PHP代碼插入到HTML5文件中。像這樣:如何在HTML中的兩個標籤之間寫入javascript?

// this works fine 
echo '<li>...something</li>'; 
// this doesn't work 
echo '<script type="text/javascript">document.write(\'<li>...something...</li>\');</script>'; 

如果我「回聲」這些行到屏幕上,他們都工作正常(當然,這是純代碼!)。 但上面的代碼是「回聲」:編輯成HTML5文件並執行THERE。第一個選項有效,而第二個選項沒有(有時產生錯誤1561)。

例子:​​3210

又如:http://www.modilo.net/dump.html

誰能告訴我怎麼可以在HTML代碼的兩個標籤之間的javascript線制?

+0

什麼JavaScript的在BOO? '的console.log(BOO)'。 PHP和JS可能以不同的方式將一些數據類型轉換爲布爾值。 – glebtv

+0

忘掉BOO。 - 請看一下例子,特別是第二個例子。 – runback

回答

0

JavaScript的BOO沒有設置,所以你需要將它設置在您的迴音,如:

echo '<script type="text/javascript"> var BOO = '. $BOO .'; // blah</script>'; 

或者,只是把價值,所以它被打印到用戶的瀏覽器:

... if('. $BOO .') ... 
+0

Noop。 「可以說PHP中的$ BOO和JavaScript中的BOO具有相同的值」,所以如果我將這個轉儲到我的屏幕上,兩種方式都可以工作,但它們會被轉儲到HTML文件中。 – runback

+0

我不確定你的意思是「轉儲到HTML文件中」。如果你指的是你的PHP腳本的輸出被髮送到瀏覽器,那麼我的兩種方式都可以工作。如果你指的是這個代碼位於服務器上的file.html中,並且假設你的PHP被設置爲解析.html文件,那麼我的方法仍然可以工作,因爲PHP將被執行。 – Josh

+0

我有一個帶登錄名的HTML文件。通過調用此PHP文件來檢查登錄信息。如果登錄成功,PHP文件會在HTML5文件的標記之間轉儲一個新代碼並再次調用HTML5文件。一切工作正常,但javscript。 – runback

0

要使用Javascript,請將其寫入專用標籤中。 請嘗試下面的代碼。

<html> 
<head> 
<?php // dump 


// Lets say $BOO in PHP and BOO in javascript have the same value. 
$BOO = true; 
// Option 1 works fine: 
if ($BOO) { echo '<li> PHP ... something ... </li>'; } else echo '<li> PHP ...  something else ... </li>'; 

// Option 2 doesn't work (and I need this!): 
echo '<script type="text/javascript"> 
var BOO = '.$BOO.'; 
if (BOO) 
document.write(\'<li> JS... something ... </li>\') 
else 
document.write(\'<li> JS ... something else ... </li>\');'; 
echo '</script>'; 
?> 
</head> 
</html> 

這段代碼有optput

PHP ...什麼...

JS ...什麼...

+0

看看這個例子:http://www.w3schools.com/PHP/php_ajax_database.asp getuser.php將html代碼轉儲到

and
之間的html文件中。我的情況很相似。我所說的是我可以轉儲HTML代碼,但不是JAVASCRIPT,我不知道爲什麼。 – runback

+0

又如:http://www.modilo.net/dump.html – runback

相關問題