嗨我想在同一页面中将一个javascript变量传递给php函数。在我的页面的头部我有这个javascript代码
<script type="text/javascript">
function getTableRow() {
var userSelect;
if (!document.getElementsByTagName || !document.createTextNode) return;
var rows = document.getElementById('products_table').getElementsByTagName('tbody')[0].getElementsByTagName('tr');
for (i = 0; i < rows.length; i++) {
rows[i].onclick = function() {
userSelect = this.rowIndex;
}
}
}
</script>
在身体中我调用了一个php函数,我希望将javascript变量userSelect作为参数传递。
<body>
<p><?php table_from_xml(javascript variable); ?>
</p>
</body>
如果不重新加载页面,是不可能的?
答案 0 :(得分:-1)
以下是使用ajax
可以执行的操作的基本示例。这是非常自我解释的。
<?php
if(isset($_POST["variable1"])){
$javascriptVariable = $_POST["variable1"];
}
?>
<script type="text/javascript">
function getTableRow() {
var userSelect;
if (!document.getElementsByTagName || !document.createTextNode) return;
var rows = document.getElementById('products_table').getElementsByTagName('tbody')[0].getElementsByTagName('tr');
for (i = 0; i < rows.length; i++) {
rows[i].onclick = function() {
userSelect = this.rowIndex;
}
}
}
$('#your-button').on("click", function(){
var somevar1 = "your variable1";
$.ajax({
type:"POST",
url: "ThisFile.php",
data: "variable1=" + somevar1,
success: function(){
//do stuff after the AJAX calls successfully completes
}
});
});
</script>
<body>
<p><?php table_from_xml($javascriptVariable); ?>
</p>
</body>