php - 表单按钮是否强制页面重新加载?
问题描述
表单按钮有什么东西会强制页面刷新吗?
我正在使用表单按钮来运行修改服务器上文本文件内容的 php 脚本。下面的代码将一个新值写入服务器上名为“galleryRand.txt”的文本文件。然后它调用函数“slideShow()”来根据galleryRand的新值加载一个新的幻灯片。
这是将新值写入 galleryRand 的代码:
<li> <span>
<form method="post">
<img src="images/btns/hotrods-40px.png" width="40px" height="40px"></a>
<input style="vertical-align:85%;overflow:visible;font-size:1em;font-weight:bold;"
name="button2" type="submit" value="Arizona Hot Rods">
</form>
<?php
if(isset($_POST['button2'])) {
$myfile = fopen("galleryRand.txt", "w") or die("Unable to open file!");
$txt = "112"; /*hotrods*/
fwrite($myfile, $txt);
fclose($myfile);
slideShow();
}
?>
</span></li>
下面是根据 galleryRand.txt 的新值加载新幻灯片的代码:
<?php
function slideShow() {
$con = mysqli_connect('localhost', 'prescoy4_vlis613', 'mysql44', 'prescoy4_pMediaDB')or die("Could not connect to host.");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
exit();
}
$rNum = file_get_contents ('galleryRand.txt');
if ($result = mysqli_query($con, "SELECT * FROM `setGallery` WHERE `rand` = $rNum")) {
while($row = mysqli_fetch_assoc($result)){
$showLoader = $row['images'];
}}
else
{echo'<h2> Search Result</h2>';}
mysqli_free_result($result);
mysqli_close($con);
echo '<iframe src="http://www.prescottmedia.com/html5/CONTENT/shows/562s/';
echo $showLoader;
echo '.html" width="562px" height="320px" align="left name="targetframe" allowtransparency="true"
scrolling="no" frameborder="0"></iframe>';
}
?>
它几乎可以工作。幻灯片确实发生了变化。问题是它需要点击 2 次按钮才能实现。当我使用 Web 开发人员工具查看发生了什么时,我注意到每次单击按钮都会再次加载整个页面。不仅仅是幻灯片。
关于可能发生的事情有什么想法吗?
解决方案
推荐阅读
- python - 当存在重复元素时,如何使迭代器在列表理解中的单个元素中操作?
- ios - 在 RealmSwift 迁移中删除表
- spring - 如何从java中的属性文件中按值读取特定键
- spring - 如何更改弹簧资源列表名称
- git - IntelliJ 合并显示没有内容
- python - 计算两列给定值的天数差异
- html - 如果没有 href 属性,则保留锚样式
- javascript - 我在使 istrusted 事件为 true 以单击网页时遇到问题。我正在使用 chrome 扩展程序单击
- ios - NSLayoutContraints:如何将底部视图定位在两个标签中较高者的下方?
- javascript - 如何在 Angular 应用程序中从 YAML 文件(保存在我的 PC 中)读取数据?