【发布时间】:2017-02-26 20:12:42
【问题描述】:
我正在做一个基于 php 的网站,我对表单提交有疑问。 例如,我的 index.php 中有以下表单:
<form method='post' action='./insert_database.php'>
<input type="checkbox" name="value[]" value="name1">'name1'</br>
<input type="checkbox" name="value[]" value="name2">'name2'</br>
<input type="checkbox" name="value[]" value="name3">'name3'</br>
<input type="checkbox" name="value[]" value="name4">'name4'</br>
<input type="checkbox" name="value[]" value="name5">'name5'</br>
<input type="checkbox" name="value[]" value="name6">'name6'</br>
<input type='submit' name='submit' value='submit'>
</form>
然后,我可以标记一个复选框,当我提交表单时,它会通过 POST 转到另一个 url "./insert_database.php" 并启动正确的查询。
问题是我不想要这个。我不想离开当前页面。 是否存在任何形式在后台执行并保留在 index.php 中?我知道我可以在 insert_database.php 中“重定向”到 index.php 但是..我认为这是一个更好的主意。
我的意思是,我不想在用户提交表单时将用户从 index.php 中移出。还是存在另一种表格以将表格值插入数据库?
提前谢谢你。
让我更好地解释一下我的情况......
这是我的 php 代码:
echo "<form>";
if (is_dir($dir)){
if ($dh = opendir($dir)){
while (($file = readdir($dh)) !== false){
if ($file !== '.' && $file !== '..'){
echo '
<input type="checkbox" class="song" name="song[]" value="'.$file.'">'.$file.'</br>';
}
}
closedir($dh);
}
}
echo "<button id='submit'>Submit</button>";
echo "</form>";
这个函数正在读取一个目录并创建一个带有复选框的表单,其中包含该目录中的所有歌曲。然后,如果您检查例如 5 首歌曲并按下提交按钮,它会执行以下脚本:
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
$('#submit').click(function() {
$.ajax({
url: "./functions/add_list.php",
type: "post",
data: $('.song:checked').serialize();
});
});
</script>
</head>
./functions/add_list 有一个 php 代码可以在数据库中插入值。 问题是这对我不起作用,我不知道为什么......我是 ajax 新手,我需要帮助......我已经尝试在这个论坛中找到解决方案,但没有找到。
【问题讨论】:
-
require_once('./insert_database.php');和<form method='post'>怎么样 -
这个问题已经在这里被问了很多次了,也被回答了很多次......
-
对于 AJAX,我应该使用哪个库?我从来没有用过这个。