2012-03-16 45 views
1

完全按照标题所说,我需要把PHP由PHP呼应的JavaScript内的内部把PHP的JavaScript多数民众赞成在PHP内

例如:

<? 
echo ('<script language="javascript" type="text/javascript"> 
if (something) then (some php)') 
?> 

那不是真正的代码只是可能帮助明白,并且请注意如果可能的话,尝试这种方式的最佳方式。

+1

我说你想做什么,然后人们会告诉如何做,不像你如何建议。 – 2012-03-16 10:07:50

+0

我刚刚用一个例子更新了我的答案。 – jackJoe 2012-03-16 10:17:40

+0

哇。 Codeception。虽然这是可接受的语法,但它可能无法按照您希望的方式工作。它会先生成PHP,然后运行js。所以,你可能需要'if(something == $ php_variable)'然后($ php_variable_that_tells_js_to_do_something)''。 javascript不会运行php代码,所有的php代码都会在JS之前运行。 – rgin 2012-03-16 10:20:22

回答

5

你不能做到这一点,PHP是一个服务器端语言,这意味着它呈现的页面加载,而不是之后,当。

该解决方案可以通过AJAX调用PHP,PHP可以有案例条件,然后它会呈现你想要的。

例子:

的JavaScript(使用jQuery):

$(".yourbutton").click(function(event){ 
     event.preventDefault(); 

     $.post("yourPHP.php", {var: somethingdynamicpassedviajavascript}, 
      function(data){ 
       //get ther result 
       $("#yourdiv").html(data); 
      }, "html"); 
    }); 

这样做有什么地方click事件弄成一个名为 “yourbutton” 级,当你点击的是,它会通过一个AJAX帖子调用一个外部PHP,发送一个var(在这个例子中),你可以发送一些动态的东西,用某些var改变“somethingdiynamicpassedviajavascript”。

PHP(yourPHP.php):

$myvar = $_REQUEST['var']; 

//do your cases here: 

switch ($myvar) { 
    case "1": 
     echo "this is for the case 0"; 
     break; 
    case 1: 
     echo "this is for the case 1"; 
     break; 
} 

这里你得到的变种,并根据情况,发出不同的输出。 请注意,这可能需要添加POST和其他防破坏方法的测试...

+0

我不知道我的问题是否正确,但是可以根据PHP中的计算构建脚本,对吧? – m90 2012-03-16 10:08:20

+0

以及问题是,我有服务器代码运行,并在中间我想获得一些用户输入的基础上,事情是怎么回事,然后我想继续与服务器的颂歌基于用户放入。 – Osman 2012-03-16 10:08:39

+0

没想到阿贾克斯,生病给我一个尝试,谢谢。 – Osman 2012-03-16 10:10:55

-3

U可以试试这个

<?php 
echo ('<script language="javascript" type="text/javascript"> 
if (something) then (some php)') 
echo ('</script>'); 
?> 
0

是的,你可以这样做..你的php scirpt生成/ echoe JavaScript代码在你的HTML页面。 你只需要使用单引号和双引号玩,逃避他们正确 在大量的脚本,这是相当混乱 - 更好地把你的JS代码在一个单独的JS文件

0

如果你想动态地创建基于一个javascript在某些情况下,你正在寻找的东西此链接:

<script language="javascript" type="text/javascript"> 
<? 
    if ($something == $somethingelse) 
    { 
     echo 'var something = 10;'; 
    } 
    else 
    { 
     echo 'var somethingelse = 25;'; 
    } 
?> 
</script> 

如果你是通过JavaScript ...这不能真正做到以执行PHP代码,充其量可以使用PHPjs效仿PHP -功能。

相关问题