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 を実行できます。要するに、これらは異なる場所で実行されるため、2 つの間の通信は困難です。ほとんどの場合、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 に答える