実際には、HTML テーブルの行数 ( <tr>
) を取得する必要があります。JavaScript を使用すると、テーブルの行数を簡単に取得できましたが、実際にはその数を PHP 変数で使用したいのですが、これはできません。親切に私を助けてください。
質問する
16176 次
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 に取り込むには、いくつかのオプションがあります。
- サーバーに ajax 呼び出しを行い、テーブルの行数をブラウザーからサーバーに渡すことができます。
- 新しいページをリクエストしている場合は、URL
?rowCnt=49
の末尾にある URL パラメータを使用して URL の行数をエンコードできます。これを PHP で URL から解析します。 - 新しいページをロードするサーバーの直接的なリクエストを作成するだけの場合は、Post を実行し、Post でデータを送信することもできます (POST ではなく GET である前のオプションと同様)。
- 行数がサーバー上の 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 に答える