【问题标题】:php form javascript onSubmit won't workphp表单javascript onSubmit不起作用
【发布时间】:2013-01-12 15:05:15
【问题描述】:

又是一个问题……几乎让我发疯了好几个小时:-/

我的问题:

我的网站上有一个上传表单,上传工作正常。但我想在上传时给用户一个反馈,因为这可能需要几秒钟,具体取决于文件大小。

我想过在 div 中显示一个 gif 动画进度条并用 javascript 显示它。我试过了,但是当我点击提交按钮时它不会出现......当我添加 onSubmit="....return false;"上传将不再起作用...

这是我的代码:

在头脑中:

<script type="text/javascript">
function showHide() {
var div = document.getElementById('progressBar');
if (div.style.display == 'none') {
 div.style.display = 'block';
}
else {
 div.style.display = 'none';
}
}
</script>

正文:

 <div id="progressBar" style="display:none;height:40px;width:250px;margin:0px auto;">
 <img src="img/progressbar.gif" alt="Progress Bar">
 </div> 


 <form name="photo" id="upload_big" enctype="multipart/form-data" action="<?php echo $_SERVER["PHP_SELF"];?>" method="post" onsubmit="showHide();">
 <input class="linkinput" type="file" name="image" size="20"/>
 <input type="submit" name="upload" id="uploadbutton" value="Upload image"/>

如果有任何帮助,我将不胜感激......因为我是新手 -> 请帮助我变得更好,而不是评判;-)

谢谢!

【问题讨论】:

  • 请显示呈现的 HTML,而不是 PHP 代码。问题可能出在呈现的代码上。
  • 看看 jQuery,它让很多事情变得更容易

标签: php javascript forms show-hide onsubmit


【解决方案1】:

这是因为当提交事件触发时,浏览器已经发送了表单,会跳转到另一个页面。

【讨论】:

  • 好的..明白了,但我该如何解决这个问题?
  • 您可以考虑使用 iframe hack 异步上传文件(坏主意但有效)或使用新的 XMLHttpRequest2
  • iframe “hack” 不是一个坏主意。当使用不支持文件 API 的用户代理时,这是异步上传的最佳选择。
【解决方案2】:

使用jQuery:

$(function() {
   $('#upload_big').submit(function() {
      showHide();
   });
});

有时,表单提交会禁止您在页面上投射更多 JavaScript 功能。为了安全起见,您还应该基于&lt;input type="submit"&gt;点击而不是表单提交事件的功能:

$(function() {
   $('input#uploadbutton').click(function(e) {
      showHide();
      e.preventDefault();
   });
});

【讨论】:

  • 是的,我确实做到了...即使是新手 ;)
  • 用另一种可能的解决方案更新了我的答案
  • Mhh..不,对不起,也试过了,但没用:-/但这可能是@Licson所说的吗?我的意思是如果我将 onSubmit 设置为 flase 那么它可以显示进度条,但它不会上传,因为它没有通过......有什么想法吗?我很绝望……
  • 取出onSubmit(); 属性,并更新您的代码以添加我刚刚添加的两个额外位。它是否仍然提交表单并且无法显示您想要的活动?
  • 活动现在正在运行......但不再上传了:-/ ohhh noo ;-( 顺便说一句,感谢您的帮助!所以现在知道如何解决这个问题了吗?:D 它让我死了......
猜你喜欢
  • 1970-01-01
  • 2015-08-14
  • 1970-01-01
  • 2011-07-07
  • 2018-08-06
  • 2015-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多