Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   помогите найти ошибку (https://javascript.ru/forum/misc/57932-pomogite-najjti-oshibku.html)

Tilo 26.08.2015 21:51

помогите найти ошибку
 
function shop_function($atts, $content = null) {
   extract(shortcode_atts(array(
      "width" => '640',
      "height" => '480',
      "ofer" => ''
   ), $atts));
   

   echo ('<script src="http://site.ru/js/ref.js"></script> 
<script type="text/javascript"> 
var product_id = '.$ofer.'; 
var ref = 13077; 
var script = document.createElement("script"); 
script.src = "http://site.ru/send_order/?ref="+ref+"&s="+getC("s")+"&w="+getC("w")+"&t="+getC("t")+"&product_id="+product_id+\'&out=1\'; 
document.body.appendChild(script); 
</script>
');
}

почему то в браузер код возвращается как есть. То есть как написано
script.src = "http://site.ru/send_order/?ref="+ref+"&s="+getC("s")+"&w="+getC("w")+"&t="+getC("t")+"&product_id="+product_id+\'&out=1\';
в таком виде и на страницу выводится если смотреть в инспекторе. Не могу понять что за .... пробовал в отдельном файле вывести в echo это код все нормально а вот в страницу запихнуть не получается:help: :help: :help:

Tilo 26.08.2015 23:02

что неужели ни у кого никаких мыслей нет?

ild 26.08.2015 23:18

я конечно не знаю пхп, но разве код который должен исполнятся на сервере не должен быть в типа <?php и после также закрыт ?>

ild 26.08.2015 23:31

по крайней мере у нас, в яве, мы в jsp (jspf и т.д) обварачиваем в <% %>

Tilo 26.08.2015 23:32

[quote=ild;385858]я конечно не знаю пхп, но разве код который должен исполнятся на сервере не должен быть в типа <?php и после также закрыт ?>[/QUOTE
он обрамлен в пхп теги я просто показал проблемную функцию до нее и после нее есть другие функции они работают а вот тут геморой какой то.
При этом я пробовал в отдельном файле этот код выполнить независимо от движка
<?
$ofer = 123;
echo ('<script src="http://site.ru/js/m1ref.js"></script> 
<script type="text/javascript"> 
var product_id = '.$ofer.'; 
var ref = 13077; 
var script = document.createElement("script"); 
script.src = "http://site.ru/send_order/?ref="+ref+"&s="+getC("s")+"&w="+getC("w")+"&t="+getC("t")+"&product_id="+product_id+\'&out=1\'; 
document.body.appendChild(script); 
</script>
<div class="shop">
<form action="" method="post" onsubmit="if(this.name.value==\'\'){alert(\'Введите Ваше имя!\');return 
false}if(this.phone.value==\'\'){alert(\'Введите Ваш номер телефона!\');return false}urlGen(this);return true;"> 
<input type="hidden" name="product_id" value="'.$ofer.'"/> 
<input type="hidden" name="ref" value="13077"/> 
<input placeholder="ФИО" maxlength="25" name="name" type="text"> 
<input placeholder="Телефон" maxlength="25" name="phone" type="text"> 
<button type="submit">Заказать!</button> 
</form> 
</div>');
?>

все работает как положенно а вот когда вставляю в страницу вот эта хрень
script.src = "http://site.ru/send_order/?ref="+ref+"&s="+getC("s")+"&w="+getC("w")+"&t="+getC("t")+"&product_id="+product_id+\'&out=1\';
прям так и выводится как есть

Tilo 26.08.2015 23:39

сразу что то не обратил внимания у меня не работает либо
document.createElement
либо
document.body.appendChild
как проверить кто из них не работает то есть как проверить работает ли
document.createElement

ild 26.08.2015 23:44

ну во первых в 3 строчке нет закрывающий ')

Tilo 26.08.2015 23:52

Цитата:

Сообщение от ild (Сообщение 385864)
ну во первых в 3 строчке нет закрывающий ')
Во вторых, вы уверены, что без echo все передается браузеру как есть?

закрывающий ') есть в 20 строчке
все это работает в таком виде как я показал если его запихнуть в отдельный пхп файл и не зависимо от движка обратится к файлу. мне надо разобратся создается ли элемент
var script = document.createElement("script");
потому что щяс два варианта он либо не создается либо он создается но не выводится в этом случае надо искать почему не работает
document.body.appendChild(script);

Tilo 27.08.2015 00:06

всем спасибо разобрался сделал пустое echo до вывода скрипта и все встало не свои места


Часовой пояс GMT +3, время: 03:39.