2015-10-30 3 views
-3

Я пытаюсь выполнить php-код в javascript с помощью кнопки onclick event. У меня есть две страницы test.php и demo.php с кнопкой на каждой странице. Теперь я хочу сделать. когда я нажимаю кнопку в test.php, он должен отключить кнопку в demo.php и когда test.php перезагружается, он должен проверить состояние кнопки в demo.php и в соответствии с ним, что должен отображать его.Выполнение php-кода в javascript при нажатии кнопки

Теперь я пробовал что-то, что прекрасно работает в соответствии с требованием. проблема в том, что кнопка на обеих страницах не работает. код выполняется только при обновлении страницы.

Вот код, который я пробовал.

первый test.php

<?php 
session_start(); 
?> 
<html> 
<head> 
<script type="text/javascript"> 
function enable(){ 
var a='<?php 

$_SESSION['demo']='enable'; 
if($_SESSION['btn_demo']=='enabled'){ 

$_SESSION['btn_test']='disable'; 
unset($_SESSION['demo']); 
} 
else { 
    $_SESSION['btn_test']='enable'; 
} 
?>'; 

} 

</script> 
</head> 
<body> 

<input type="button" value="<?php echo $_SESSION['btn_test']; ?>" name="submit" id="submit" onclick="enable()" > 

</body> 
</html> 

при нажатии на кнопку включения в test.php, он должен включить кнопку в demo.php.

второй demo.php

<?php 
session_start(); 
error_reporting(0); 


?> 
<html> 
<head> 
<script type="text/javascript"> 
function enable(){ 
    <?php 
$_SESSION['test']=$_SESSION['demo']; 
if($_SESSION['test']=='enable'){ 
$_SESSION['btn_demo']='enabled';  
} else 
{ 
    $_SESSION['btn_demo']='disabled'; 
} 

?>} 
</script> 
</head> 
<body> 
<style> 

</style> 

<input type="button" value="<?php echo $_SESSION['btn_demo']; ?>" name="submit" id="submit" onclick="enable()" > 

</body> 
    </html> 

здесь кнопка должна быть включена/отключена при нажатии кнопки в test.php щелкают. Это обе страницы работают нормально, когда я обновляю. не работает при нажатии любой из кнопок. как это решить? нужна помощь.

+1

Вы должны использовать AJAX, вы не можете выполнять PHP напрямую из JS-функции. –

+0

как это сделать ..? какие-либо предложения. –

+0

[Здесь] (http://stackoverflow.com/questions/9436534/ajax-tutorial-for-post-and-get) является примером. –

ответ

1

PHP выполняется перед JavaScript, поэтому вы не можете использовать таким образом, Вы можете назвать файл с помощью AJAX

Попробуйте что-то вроде этого:

<script> 
    function enable(){ 
     $.ajax({ 
      type: "POST", 
      url: "setSession.php", 
      success: function(res) { 
       if(res==="Success"){ 
        alert("Success!!!"); 
       } 
      } 
     });  
    } 
</script> 

setSession.php

<?php 
$_SESSION['demo']='enable'; 
if($_SESSION['btn_demo']=='enabled'){ 
    $_SESSION['btn_test']='disable'; 
    unset($_SESSION['demo']); 
} 
else { 
    $_SESSION['btn_test']='enable'; 
} 
echo "Success"; 
?> 
+0

будет ли Ajax перенаправлять страницу? если да, то я не могу согласиться, я не хочу перенаправлять страницу. только передайте значение при нажатии кнопки –

+1

AJAX не перенаправляет страницу, но делает именно то, что вы хотите – Thamilan

+0

Он выполняет ваш код и отправляет результат на вашу текущую страницу, не обновляя всю страницу. – Thamilan

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