0

我想知道如何将变量从 javascript 发送到 php,这样我就可以创建一个包含动态行总和的变量。

更具体:当我在搜索框中搜索时,我想获取行数(1 匹配为 1 行,2 匹配为 2 行,依此类推

我试图实现这一点: document.getElementById("i1").value = allCells.length; 所以我后来可以调用php,但我没有工作。

这是我的 javascript,顺便说一下 javascript 可以完美运行。

<script language="javascript" type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> 
<script language="javascript" type="text/javascript">  
  $(document).ready(function() 
  {
    $('#search').keyup(function() {
      searchTable($(this).val());
    });
  });
  function searchTable(inputVal) 
  {
    var table = $('.table');
    table.find('tr').each(function(index, row) 
    {
      var allCells = $(row).find('td');
      if (allCells.length > 0) {
        var found = false;
        allCells.each(function(index, td) 
        {
          var regExp = new RegExp(inputVal, 'i');
          if (regExp.test($(td).text())) 
          {
            found = true;
            return false;
            document.getElementById("i1").value = allCells.length;
          }
        });
        if (found == true)
          $(row).show();
        else
          $(row).hide();
      }
    });
  }

  $(function()
  {
    $('#table a').click(function(e) 
    {
      e.preventDefault();
      $('#result').val($(this).closest('tr').find('td:first').text());
    });
  });
</script>

我想在我的表头中吐出她的动态总和。

 <h3>Total: (<?php print_r($_GET["i1"])?>)  </h3>

我希望你能帮助我。

4

3 回答 3

2

您可能从未了解过 javascript 和 php 之间的区别

Javascript 是客户端的,这意味着一切都由您的本地系统处理。PHP 是服务器端的,这意味着所有内容都由服务器处理并解析为 html。

您不能像以前那样将值从 javascript 发送到普通的 php 中。但是,您可以发送帖子或访问相同的脚本并让它重新加载脚本的一部分

http://api.jquery.com/jQuery.get/

http://api.jquery.com/jQuery.post/

于 2013-03-05T14:01:52.270 回答
0

你不是第一个想要这个的人,也不是第一个被告知这不可能像你想象的那样的人。当你浏览到一个 PHP 页面时,事情基本上是这样的:

  1. 浏览器向服务器发送 HTTP 请求
  2. 服务器确定要发送到浏览器的页面
  3. 服务器发现你想要一个 PHP 页面
  4. 服务器执行 PHP
  5. 服务器将 PHP 返回的内容发送到浏览器
  6. 浏览器不了解 PHP 并显示 HTML
  7. 浏览器执行 Javascript。

现在重要的部分是浏览器不知道 PHP 是什么,但可以执行 JavaScript,而服务器不知道 JavaScript 是什么(为简单起见)但可以执行 PHP。底线:两者之间很难沟通,因为它们在不同的地方执行。您很可能想要使用 AJAX,所以这里有一个超级简单的示例:

我们要获取的 PHP 页面:

<?
    // We're on the server
    // We're going to output something:
    echo "Yay! You can see me!"; // So the browser sees only "Yay! You can see me!" (without quotes).
?>

用于获取 PHP 页面的 JavaScript(使用 jQuery):

$("#anElementID").load("thePHPPageWeWantToFetch.php"); // It's that simple! The element with the ID #anElementID now contains "Yay! You can see me!" (without quotes).
于 2013-03-05T14:08:36.793 回答
0

我也建议使用 AJAX 或其他东西将您的 javascript 值传递给 PHP。您可以创建一个 AJAX 调用,从您的 javascript 添加数据,并在您的 PHP 文件中捕获数据。

var value = "Jan";
$.ajax({
        url: "/form.php",
        type: "post",
        data: "name=" + value
    });

在您的 PHP 文件中,您可以执行以下操作:

<?php
$catchedName = $_POST["name"];
?>
于 2013-03-05T14:12:23.693 回答