1

実際には、HTML テーブルの行数 ( <tr>) を取得する必要があります。JavaScript を使用すると、テーブルの行数を簡単に取得できましたが、実際にはその数を PHP 変数で使用したいのですが、これはできません。親切に私を助けてください。

4

5 に答える 5

3

これにより、js 変数が php 変数に、php 変数が js 変数に変換されます。

<script>
function jstophp(){


var javavar=document.getElementById("text").value;  

document.getElementById("rslt").innerHTML="<?php 
$phpvar='"+javavar+"'; 
echo $phpvar;?>";
}

function phptojs(){

var javavar2 = "<?php 

$phpvar2="I am php variable value";
echo $phpvar2;

?>";
alert(javavar2);
}

</script> 
<body>
<div id="rslt">
</div>


<input type="text" id="text" />
<button onClick="jstophp()" >Convert js to php</button>
<button onClick="phptojs()">Convert php to js</button>

PHP variable will appear here:
<div id="rslt2">
</div>

</body>
于 2013-03-15T19:08:38.287 に答える
3

あなたのJavaScriptはブラウザにあります。PHP はサーバー上にあります。このカウントをサーバー上の PHP に取り込むには、いくつかのオプションがあります。

  1. サーバーに ajax 呼び出しを行い、テーブルの行数をブラウザーからサーバーに渡すことができます。
  2. 新しいページをリクエストしている場合は、URL?rowCnt=49の末尾にある URL パラメータを使用して URL の行数をエンコードできます。これを PHP で URL から解析します。
  3. 新しいページをロードするサーバーの直接的なリクエストを作成するだけの場合は、Post を実行し、Post でデータを送信することもできます (POST ではなく GET である前のオプションと同様)。
  4. 行数がサーバー上の PHP によって最初に生成された HTML にある場合は、サーバー側のロジックを使用して、最初にページを生成したのと同じロジックを使用してその rowcnt が何であるかを計算できます。
于 2012-07-14T09:11:34.390 に答える
0

PHPスクリプトにデータを送信できるようにする単純なオブジェクトを含めました。シンプルに保つための同期のPOST。データを読み取る簡単なphpスクリプトも含まれています。

var phpSend = phpSend || 
{
    sent: false,
    xmlhttp: null,
    xmlhttpstatus:null ,


    // You would call this function when you need to send your data
    sendInfo: function()
    {

            // Your Data
            var tableData = "&tableRowCount=" + yourTableRowCount ;

            // The url where the php file is situated
            var httpstring =  'http://www.mywebsite.com/php/table.php' ;


            phpSend.ContactXMLHttpRequest(httpstring,tableData) ;


            // Check to see if http request for table was OK
            if(phpSend.xmlhttpstatus == true)
            {
                // Do something here

            }


    },

    ContactXMLHttpRequest: function(url,data)
    {
        if (phpSend.xmlhttp)
        {
            phpSend.xmlhttp.onreadystatechange=phpSend.stateChanged;
            phpSend.xmlhttp.open("POST",url,false);
            phpSend.xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
            phpSend.xmlhttp.send(data);
        }
    },

    stateChanged: function()
    {   
        if(phpSend.xmlhttp.readyState==4)
        {
            if (phpSend.xmlhttp.status==200)
            {
                phpSend.xmlhttpstatus = true ;
            }
            else
            { 
                    phpSend.xmlhttpstatus = false ;
            }
        }
    },


    InitXMLHttpRequest: function()
    {
        if (window.XMLHttpRequest)
        {
            // code for IE7+, Firefox, Chrome, Opera, Safari
            return new XMLHttpRequest();
        }

        if (window.ActiveXObject)
        {
            // code for IE6, IE5
            return new ActiveXObject("Microsoft.XMLHTTP");
        }

        alert ('Your browser does not support XMLHTTP!');

        return null;
    }           

} ;

//-----------------------------------------------------------------------------------------------------------------------
//
//  Run on load
//
//-----------------------------------------------------------------------------------------------------------------------
(function()
{   
    phpSend.xmlhttp=phpSend.InitXMLHttpRequest();

})() ;






//-----------------------------------------------------------------------------------------------------------------------
//
//  PHP code that will be sitting on your server (for this example, 'http://www.mywebsite.com/php'  and called 'table.php')
//
//-----------------------------------------------------------------------------------------------------------------------

<?php
        // Pick up the count and do what you need to do
        $count = $_POST["tableRowCount"]; 
?>
于 2012-07-14T11:06:46.007 に答える
0

JavaScript 値を PHP に変換する最良の例:

JavaScript

<script type="text/javascript">
    var ja =50;
</script>

PHP

<?php 
    $dummy = "<script>document.write(ja)</script>";
    echo $dummy; 
?>
于 2016-01-22T11:48:52.053 に答える
0

PHPで行数を読み取ろうとしていると思います。したがって、たとえば入力フィールドを使用してみてください。

これを HTML に追加します

<input type="hidden" id="rowCount"/>

JSコードで

<script>
var objInputFieldRowCount = docuement.getElemendbyId("rowCount");
var jsRowCount = table.getElementsByTagName("TR").length;
objInputFieldRowCount.value = jsRowCount;
</script>
于 2012-07-14T09:19:01.457 に答える