如何将javascript变量传递给php函数?

时间:2013-06-11 10:31:23

标签: php

我需要将javascript变量传递给php。这是code.this函数从下拉列表调用。

 <script>
   function functionname2(){
       var ab = $("#ma").val(); 

      var va= <?php $ab1=ad;  echo TTable::model()->attr($ab1)?>; 
      if(va==='true')
          {
              var r=confirm("Press a button");
               if (r==true)
                {
                    x="You pressed OK!";
                }
                else
                {
                    x="You pressed Cancel!";
                } 
          }
  }   
   </script>

任何人都知道怎么做吗?

3 个答案:

答案 0 :(得分:4)

你不能:PHP生成你网页的HTML代码,当然包括javascript。

你向上帝传递一个论点吗?显然不是。

但是你可以祈祷,这就是为什么AJAX之后被创建的原因:使用异步调用,你可以要求javascript请求PHP服务并呈现结果而不重新加载整个页面。

如果你正在寻找的话,那么看看jQuery及其AJAX API,如果你想在没有太多痛苦的情况下使用它。

答案 1 :(得分:2)

你不能因为:

PHP在服务器端运行(如您的apache),而Javascript在客户端(浏览器)运行。 PHP解释器运行您的语句,例如echo '<table>....</table>',最后这些打印/输出都被发送到Web浏览器,因此它只包含您打印/输出的任何内容,但客户端没有PHP脚本。 Javascripthtml无论服务器端是什么,在php的角度来看它们只是text

在客户端,你只会生成任何PHP而不是PHP脚本,所以你不能像javascript那样传递给php。现在,浏览器根据标签将该文本解释为点视图中的特殊文本。

但是,您可以使用javascript等技术与服务器上的其他php脚本进行通信,这些技术可以动态地将数据发送到服务器上的php script并将输出恢复。

例如,您可以通过数据库动态地将搜索查询发送到php并从服务器收回数据并通过ajax技术将其显示回浏览器。

为了进一步解释你必须做什么,你必须采取什么方法。需要有关您想要实现的目标的更多信息。

我希望它有所帮助。

答案 2 :(得分:0)

使用带有元素的表单并将其提交到PHP页面:

<form name="phpForm" action="" method="post" id="myForm" onsubmit="DoSubmit();">
    <input type="text" name="confirmation" value="" />
</form>

在提交之前设置输入值:

if (r==true)
{
    document.phpForm.confirmation.value = "You pressed OK!";
}
else
{
    document.phpForm.confirmation.value = "You pressed Cancel!";
}

document.getElementById("myform").submit();