我想知道如何将变量从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>
我希望你能帮助我。
答案 0 :(得分:2)
你可能从来没有学过javascript和php之间的区别
Javascript是客户端,这意味着一切都由您的本地系统处理。 PHP是服务器端的,这意味着服务器处理所有内容并将其解析为html。
你不能像你一样从javascript发送一个值到普通的PHP。 但是,您可以发送帖子或获取相同的脚本,然后重新加载脚本的一部分
答案 1 :(得分:0)
你不是第一个想要这个的人,而不是第一个被告知你不可能想象的方式。当您浏览到PHP页面时,事情就像这样:
现在重要的一点是浏览器不知道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).
?>
JavaScript(使用jQuery)获取PHP页面:
$("#anElementID").load("thePHPPageWeWantToFetch.php"); // It's that simple! The element with the ID #anElementID now contains "Yay! You can see me!" (without quotes).
答案 2 :(得分:0)
我也建议使用AJAX或其他东西将你的javascript值传递给PHP。 您可以创建一个AJAX调用,添加javascript中的数据,并捕获PHP文件中的数据。
var value = "Jan";
$.ajax({
url: "/form.php",
type: "post",
data: "name=" + value
});
您可以在PHP文件中:
<?php
$catchedName = $_POST["name"];
?>