Javascript 如何在JQuery/HTML中反映PHP变量的变化
我有一个php中的Javascript 如何在JQuery/HTML中反映PHP变量的变化,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我有一个php中的$return,它会根据表单上发布的内容进行更改。以下是JQuery&HTML代码: $(function() { $('#query_sort').on('change', function(event) { var query_sort = $(this).val(); alert(query_sort); if(query_sort) {
$return
,它会根据表单上发布的内容进行更改。以下是JQuery&HTML代码:
$(function() {
$('#query_sort').on('change', function(event) {
var query_sort = $(this).val();
alert(query_sort);
if(query_sort) {
$.ajax({
method: "POST",
url: "/_php/nds/return_criteria_checkbox.php",
data: {query_sort: query_sort}
})
.done(function(data){
alert(<?php echo $query; ?>);
$('#dashboard_table_tbody').html(<?php echo $return; ?>);
});
}
});
});
即使在我更改表单时,
$return
也会更改,但HTML页面不会反映该更改。表单在更改时自动提交(不刷新网页)。如何更新它?您混淆了客户端和服务器端技术。PHP是服务器端语言,JS也是客户端语言 要做您需要的事情,您必须使用javascript。
您的return\u criteria\u checkbox.php文件应该返回如下内容: return\u criteria\u checkbox.php
echo json_encode(['return_from_php' => 'something you want to return']);
您的HTML文件将变成:
$(function() {
$('#query_sort').on('change', function(event) {
var query_sort = $(this).val();
alert(query_sort);
if(query_sort) {
$.ajax({
method: "POST",
url: "/_php/nds/return_criteria_checkbox.php",
data: {query_sort: query_sort}
})
.done(function(data){
$('#dashboard_table_tbody').html(data.return_from_php);
});
}
});
});
您需要从URL返回json格式的数据,您正在通过Ajax发布数据,并对JQuery函数进行轻微更改,正如我在下面所做的那样,您已经准备好了。 下面几行代码用于从Html获取输入并提交,而无需借助JQuery和Ajax刷新页面。我们还需要创建一个名为“return\u criteria\u checkbox.php”的php文件,并将JSON数据发送回该页面
<input type="text" id="query_sort">
<p id="dashboard_table_tbody" style="height: 10px;"></p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
$('#query_sort').change(function(event) {
var query_sort = $(this).val();
// alert(query_sort);
if(query_sort)
{
$.ajax({
type: "POST",
url: "return_criteria_checkbox.php",
data: {query_sort: query_sort},
cache: false,
success: function(data)
{
var replaced_Data = data.replace(/\"/g, "");
$('#dashboard_table_tbody').html(replaced_Data);
$('#query_sort').val('');
}
});
}
});
使用上面的代码就可以了。php是一种服务器端语言,如果不刷新页面,就无法实现这一点。你必须使用js@GiacomoMasseroniChiaro是的,我不是这么问的<代码>$return可以更改,这很好,但是如何在不刷新的情况下将其反映在网页上?这就是问题:$(“#dashboard"table_tbody”).html()@giacomomasheronicharo在第一次加载时就可以工作,但是一旦
$return
更改,它就不会反映$return
中的更改。确切地说,$return是PHP代码,正如我所说,PHP是服务器端语言
<?php
// Fetching Values From Ajax URL
$posted_data = $_POST['query_sort'];
echo json_encode($posted_data);
// You can also insert data to database using below lines of code
// $connection = mysql_connect("localhost", "root", "");
// $db = mysql_select_db("mydba", $connection);
// if (isset($_POST['name1'])) {
// $query = mysql_query("insert into form_element(posted_data) values('$posted_data')"); //Insert Query
// echo "Form Submitted succesfully";
// }
// mysql_close($connection); // Connection Closed
?>