2013-06-11 3 views
3

Я нашел учебник по PHP.net в руководстве «PHP и HTML», и есть пример, Generating JavaScript with PHP.Создание JavaScript с PHP

Я пробовал простую демонстрационную версию с этим самостоятельно, чтобы узнать, как это сделать, чтобы позже я смог попробовать что-то более сложное. Прямо сейчас я просто пытаюсь объявить строковую переменную в PHP (адрес в файл JPG), а затем через JavaScript (созданный в скрипте PHP) изменить src элемента IMG на этот новый адрес.

Кто-то предложил что-то с JSON, с которым у меня мало опыта, но только с отправкой в ​​текстовый файл с использованием скрипта в файле PHP. Я не уверен, могу ли я использовать запрос GET или что-то еще, я, честно говоря, понятия не имею. Я просто не думал, что это будет так сложно.

Вот ссылка на my page, где я пытаюсь это сделать.

Как вы видите, я действительно пытался сделать обратное к созданию JavaScript в PHP, вместо этого я пытался внедрить PHP в JavaScript, и это то, что кто-то изначально предложил мне, Работа. Вот почему это так.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>Demo</title> 

    <?php 



    $srcmsg = 'http://www.newyorker.com/online/blogs/photobooth/NASAEarth-01.jpg'; 
    ?> 
    <script type="text/javascript"> 
    //<![CDATA[ 
    // 

    var msr = "<?php echo $srcmsg; ?>"; 

    window.onload = document.getElementsByTagName('img').src= msr; 
    //]]> 
    </script> 
    </head> 
    <body><img src="#" alt="Picture of the world" height="42" width="42" /> 
    </body> 
    </html> 

РЕШЕНИЕ: это был обнаружен Orangepill и Фред .... получается, что одна из самых больших проблем был путь мой сервер не смог разобрать скрипт в HTML-файл, так что я должен был помещать его в файл PHP. то возникла проблема с интерпретацией тегов short_open в объявлении xml. так вот как это закончилось для того, чтобы получить работу: имейте в виду, что это является .php файл НЕ .htm

<?php echo "<", 'xml version="1.0" encoding="UTF-8" standalone="no" ?'; ">\n"; ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>Demo</title> 
<script type="text/javascript"> 
//<![CDATA[ 
// 

window.onload = function(){ 
var msr = '<?php $srcmsg = "http://www.newyorker.com/online/blogs/photobooth/NASAEarth-01.jpg"; echo $srcmsg; ?>'; 

var x = document.getElementsByTagName('img')[0]; 

x.src = msr; 
} 
//]]> 
</script> 
</head> 
<body><img src="#" alt="Picture of the world" height="42" width="42" /> 
</body> 
</html> 

ответ

4

getElementsByTagName возвращает NodeList (массив как объект), так что вы должны сделать

window.onload = document.getElementsByTagName('img')[0].src= msr; 

, чтобы сделать первое изображение.

0
<?php 
$srcmsg = 'http://www.newyorker.com/online/blogs/photobooth/NASAEarth-01.jpg'; 
echo<<<_HTML 
<script type='text/javascript'> 
window.onload = document.getElementsByTagName('img').src= $srcmsg; 
</script> 
_HTML; 
?> 
+0

Не нужен ли атрибут «type» для скрипта? например "text/javascript" – user1066524

+0

не так необходимо. Если ты хочешь, ты можешь. –

+0

@ user1066524 Я бы порекомендовал вам использовать атрибут типа ... – pinkpanther

Смежные вопросы