HTML 数据列表中的动态数组
Dynamic Array in HTML Datalist
我想动态刷新此数据列表中的 php
代码,而不重新加载整个页面。
<form id="form1" action="1.5-unterseite-nach-Eingabe.php" method="post" enctype="multipart/form-data">
<tr>
<td>Lecture auswählen: </td>
<td><input list="files" name="unterlage"></td>
</tr>
<datalist id="files">
<?php
$files = array_diff( scandir("/srv/www/htdocs/share/"), array(".", "..") );
foreach ($files as $option) {
echo '<option value=\''.$option.'\'>';
}
?>
</datalist>
希望你能帮帮我。
不完全确定您的最终目标是什么。
但一种做法是设置一个 AJAX GET 方法,在它自己的文件中调用 PHP 片段。抓取所有返回数据并使用JS将其插入到页面中。
开始学习 JS,因为这是您无需重新加载页面即可获取动态内容的唯一方法。
要使用 AJAX 获取数据,请使用类似的东西:
<script>
$(document).ready(function(){
$.ajax({
url: 'URL_TO_PHP_FILE/scanFiles.php',
dataType: 'text',
success: function(data)
{
$("#files").html(data);
}
});
});
</script>
现在将您的 PHP 片段移动到它自己的文件中:
$files = array_diff( scandir("/srv/www/htdocs/share/"), array(".", "..") );
foreach ($files as $option) {
echo '<option value=\''.$option.'\'>';
}
?>
如果您唯一的回应是您希望在 AJAX 通话中收到的内容,那么您应该没问题。
还要确保您已将 jQuery 库链接到您的页面,以便您可以使用 AJAX。多看看 jQuery 。它会让你的生活更轻松。
您还需要一种方法来每隔几秒执行一次 JS 代码,或者根据之前的用户交互触发一个触发器。
您可以在 "index.html" 文件中编写 html 表单。并使用javascript间隔请求PHP在data.php中提供的数据。伪代码将是这样的:
// index.html
<html>
<form id="form1" action="1.5-unterseite-nach-Eingabe.php" method="post" enctype="multipart/form-data">
<tr><td>Lecture auswählen: </td><td><input list="files" name="unterlage"></td></tr>
<datalist id="files">
</datalist>
</form>
<script>
window.setInterval(function(){
function request_data(){
$.ajax({
url: 'data.php',
method: "post",
success: function (data) {
// Do something here
$("#files").html(data);
}
})
}
},2000); // 2 secends request a time
</scirpt
</html>
// data.php
<?php
$files = array_diff( scandir("/srv/www/htdocs/share/"), array(".", "..") );
return json_encode($files);
?>
我想动态刷新此数据列表中的 php
代码,而不重新加载整个页面。
<form id="form1" action="1.5-unterseite-nach-Eingabe.php" method="post" enctype="multipart/form-data">
<tr>
<td>Lecture auswählen: </td>
<td><input list="files" name="unterlage"></td>
</tr>
<datalist id="files">
<?php
$files = array_diff( scandir("/srv/www/htdocs/share/"), array(".", "..") );
foreach ($files as $option) {
echo '<option value=\''.$option.'\'>';
}
?>
</datalist>
希望你能帮帮我。
不完全确定您的最终目标是什么。
但一种做法是设置一个 AJAX GET 方法,在它自己的文件中调用 PHP 片段。抓取所有返回数据并使用JS将其插入到页面中。
开始学习 JS,因为这是您无需重新加载页面即可获取动态内容的唯一方法。
要使用 AJAX 获取数据,请使用类似的东西:
<script>
$(document).ready(function(){
$.ajax({
url: 'URL_TO_PHP_FILE/scanFiles.php',
dataType: 'text',
success: function(data)
{
$("#files").html(data);
}
});
});
</script>
现在将您的 PHP 片段移动到它自己的文件中:
$files = array_diff( scandir("/srv/www/htdocs/share/"), array(".", "..") );
foreach ($files as $option) {
echo '<option value=\''.$option.'\'>';
}
?>
如果您唯一的回应是您希望在 AJAX 通话中收到的内容,那么您应该没问题。
还要确保您已将 jQuery 库链接到您的页面,以便您可以使用 AJAX。多看看 jQuery 。它会让你的生活更轻松。
您还需要一种方法来每隔几秒执行一次 JS 代码,或者根据之前的用户交互触发一个触发器。
您可以在 "index.html" 文件中编写 html 表单。并使用javascript间隔请求PHP在data.php中提供的数据。伪代码将是这样的:
// index.html
<html>
<form id="form1" action="1.5-unterseite-nach-Eingabe.php" method="post" enctype="multipart/form-data">
<tr><td>Lecture auswählen: </td><td><input list="files" name="unterlage"></td></tr>
<datalist id="files">
</datalist>
</form>
<script>
window.setInterval(function(){
function request_data(){
$.ajax({
url: 'data.php',
method: "post",
success: function (data) {
// Do something here
$("#files").html(data);
}
})
}
},2000); // 2 secends request a time
</scirpt
</html>
// data.php
<?php
$files = array_diff( scandir("/srv/www/htdocs/share/"), array(".", "..") );
return json_encode($files);
?>