javascript - 除了提交之外的其他方法
问题描述
我有一个 PHP 提交表单,在该表单中我有一个 PHP 图像库,可以显示文件夹中的图像。(我有一个下拉菜单可以从不同的文件夹中选择图像)。
当我单击图库中的图像时,该图像的路径会输入到输入字段中,以便在提交时可以链接到其他信息。
我的问题是当我从提交表单的下拉列表中选择不同的图片库文件夹时。我理解它为什么这样做,但不确定如何更改它使用 PHP 为 JS/JQ 选择不同文件夹的方式,因此无需提交或刷新。
这是相关的代码...
<script>
function change(){
document.getElementById("myfolders").submit();
}
</script>
$subF = $_POST['otherFolders'];
<form id="myfolders" method="post">
<select name="otherFolders" onchange="change()">
<option selected="selected">Other Galleries</option>
<?php
$otherFolders = $dirs2;
foreach($otherFolders as $item){
?>
<option value="<?php echo $item; ?>"><?php echo $item; ?></option>
<?php
}
?>
</select>
谢谢你的帮助
解决方案
我相信您不想在用户单击提交时刷新页面。该问题的信息非常有限,因此我无法对您的代码进行更改。但是,您要做的是通过使用preventDefault();
JS 中的函数然后读取表单元素,向您的服务器 (PHP) 提交 aJax 请求,并使用服务器响应显示在页面上来阻止表单提交。
如果您不希望表单提交,您可以只制作一个不提交表单的按钮,而只需一个读取表单元素的 onClick 事件并执行与上述相同的操作。
如果没有阻止,表单提交将始终刷新页面。如果未提供 action 属性,则默认将表单提交到当前页面。
推荐阅读
- python - 有没有办法在 Kivy 中创建 2D 难以处理的网格?
- iis - 应用程序托管在托管术语中的 w3wp.exe(进程内)或 application.exe/dotnet.exe(进程外)中的含义
- python - CSV 文件未正确写入 ByteString
- python - 规范化数据集以查找季节性和平均 python pandas
- html - mvc 视图选择下拉 ui 改进
- reactjs - 你可以使用 gatsby-source-mongodb 来发布数据吗?
- python - / 不支持的操作数类型:“方法”和“方法”,Django
- makefile - 从位于多个文件夹中的源文件生成目标文件
- http - 是否有一个 Golang Websocket 库可以让我修改初始请求/让我选择 http.Client?
- java - 运行时来自另一个 jar 的 Uber jar 的依赖项