2015-01-30 4 views
-2

Я пытаюсь передать переменную javascript в php, и она не будет работать динамически, но работает статически.Переменная Javascript, не переходящая к переменной php

здесь динамический код, который не работает:

<input onClick="myFunction();" id="demoteTask" name="demoteTask" type="checkbox"/>Demote to Child 
<script> 
function myFunction() { 
var parent = prompt("Please enter parent reskb id:", ""); 
<?php $new = "<script>document.writeln(parent);</script>" ?> 
alert (<?php $new ?>); 
} 
</script> 

здесь статический код, который работал:

<script> 
var p1 = "hello"; 
</script> 
<?php 
$kk="<script>document.writeln(p1);</script>"; 
echo $kk; 
?> 

Динамический код возвращает мне нулевое значение в alertbox.

+1

Вам не хватает фундаментального понимания того, как работает сеть. PHP - это серверный язык, JavaScript обычно используется как язык на стороне клиента. Когда клиент делает запрос на URL-адрес, ваш сервер выполнит скрипт PHP и вернет сгенерированный HTML-код клиенту. Затем клиент проанализирует HTML и выполнит любой содержащийся в нем JavaScript. ** PHP и JavaScript выполняются на двух разных машинах в разные моменты времени **. Хотя вы можете смешивать их * исходный код *, вы не можете смешивать их поведение. –

ответ

1

Почему вы смешиваете на стороне сервера и на стороне клиента сценариев. Скрипты на стороне сервера выполняют и отправляют пакеты клиенту.

Здесь в программном коде PHP будет генерировать выходной сигнал, как:

ЭТА

<input onClick="myFunction();" id="demoteTask" name="demoteTask" type="checkbox"/>Demote to Child</input> 
<script> 
    function myFunction() { 
     var parent = prompt("Please enter parent reskb id:", ""); 
     // Here `$new` becomes server variable 
     <?php $new = "<script>document.writeln(parent);</script>" ?> 
     // and will prints here 
     alert (<?php echo $new ?>); 
    } 
</script> 

К НАСТОЯЩЕМУ

<script> 
    function myFunction() { 
     var parent = prompt("Please enter parent reskb id:", ""); 
     alert (<script>document.writeln(parent);</script>); 
    } 
</script> 

FIX

Используйте только скрипт на стороне клиента. И нет необходимости смешивать скрипты. Серверные скрипты могут генерировать сценарии клиента как переменные сценариев сервера. Вот мой пример:

<script> 
    function myFunction() { 
     var parent = prompt("Please enter parent reskb id:", ""); 
     alert(parent); 
    } 
</script> 
-1

Изменить эту строку: alert (<?php $new ?>); к этому: alert (<?php echo $new ?>);

Тогда дайте мне знать, что происходит

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