【问题标题】:How to stop JavaScript alert from refreshing page?如何阻止 JavaScript 警报刷新页面?
【发布时间】:2016-10-26 12:16:46
【问题描述】:

我正在自学,所以如果这是一个“新手”问题,我提前道歉,但我已经搜索了互联网,找不到解决方案。

所以我创建了一个 HTML 表单,并在该表单中添加了一个 Dropzone.js,供人们上传文件。完成后,他们单击一个按钮,将其保存到 MySQL 表单中,一切都很好。问题是当人们在文件完成上传之前单击按钮时。为了解决这个问题,我创建了一个“If 语句”来检查上传的文件是否存在。如果尚未上传,则会触发 JavaScript 警报,这一切正常,但它会刷新页面,这会删除所有估算的数据。

// This is when the button is clicked
if(isset($_POST['Upload'])){
    if (file_exists(blah blah) {

        //All my MySQL stuff is in here



    //If it isn't uploaded 
    } else {
        echo '<script language="javascript">';
        echo 'alert("Please upload at least one file")';
        echo 'return false';
        echo '</script>';
    }}

尽管'return false';它仍然重置页面?

任何帮助将不胜感激,谢谢!

【问题讨论】:

  • 您没有在 javascript 上添加分号。不知道是不是这个原因
  • @PhiterFernandes,我解决了这个问题,这不是原因。不过还是谢谢。

标签: javascript php html mysql dropzone.js


【解决方案1】:

你能告诉我所有的代码吗?你可以用很多方法来做,我用验证来做。您可以设置一个在文件上传时增加的变量。如果变量值为零,则返回 false 表单将不会提交。

Php 不支持这样的 echo 'return false'。为此,您必须使用 JavaScript 验证。

【讨论】:

  • 我只是用 laravel 实现了同样的东西。
  • $('#submit-btn').on('submit', function(e) { return false; });
  • 当然,很遗憾评论太长了,但我在这里粘贴了:jsfiddle.net/wsw9svnm/4
  • 您是否使用 dropzone.js 上传图片?
  • 是的,还有 .3mf、.stl、.fbx、.dae、.stp、.obj 格式的文件。并且只有在文件完全上传后,文件存在函数才会注意到它的存在。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-01-19
  • 1970-01-01
  • 2019-10-06
  • 2015-08-10
  • 2010-11-17
  • 2017-01-17
相关资源
最近更新 更多