【问题标题】:how to disable form submit button and upload the form data如何禁用表单提交按钮并上传表单数据
【发布时间】:2016-10-29 01:20:51
【问题描述】:

您好,我已经设法在单击时禁用了提交输入,但是当 PHP ifisset 运行时我遇到的问题在禁用输入提交后它没有将参数存储在数据库中,但是经过我的研究和测试后它没有上传输入到表单的数据但禁用按钮但是当我删除 Jquery 代码时没有采取任何操作并且图片上传它这是我的代码

 //input submit works if not disabled but does not run if disabled after onclick which i feel when the button is disabled the form submit has no name valid
<script>
$(function() {
  $('#theform').submit(function() {
    $("input[type='submit']", this)
      .val("Please Wait...")
      .attr('disabled', 'disabled');
    return true;
  });
});
</script>

//My form
<form action="" method="post" role="form" id="theform" enctype="multipart/form-data">
  <input type="file" name="file">
  <input type="submit" name="sub" value="UPLOAD">
</form>

【问题讨论】:

  • 写入数据库时​​出现问题,php代码在哪里。
  • 您的描述有点混乱。您是说 (a) 没有 JS 表单正常工作并且文件由 PHP 保存,但是 (b) 使用该 JS 按钮禁用并且表单提交但 file 参数不包含在请求中?还是请求中未包含name 参数?请edit您的问题显示相关的PHP代码。
  • 如果我删除 js,php 代码会正常运行,所以我认为 jquery 正在禁用输入按钮,因此无法绑定名称,所以当页面重新加载时没有处理代码@nnnnnn
  • 您是否在 php 中检查 isset($_POST['sub'])?由于disabled 输入未发布(请参阅stackoverflow.com/questions/1355728/…),您需要检查未禁用的输入。
  • 是的,我正在检查,但它运行正常,因为 isset 但禁用的字段不运行,所以我正在寻找一种方法来防止用户表单提交两次@Sean

标签: javascript php jquery forms


【解决方案1】:

我想要的只是不允许用户两次提交值

在这种情况下,我会将按钮与提交事件和表单数据本身分开,方法是使用 type="button" 作为“提交”按钮,并使用隐藏的 input 作为 sub 值,如下所示:

$(function() {
  $('.submit').click(function(){
         $(this).prop("disabled",true).val("Please Wait...").closest('form').submit();
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="" method="post" role="form" id="theform" enctype="multipart/form-data">
  <input type="file" name="file">
  <input type="hidden" name="sub" value="UPLOAD">
  <input type="button" class="submit" value="UPLOAD">
</form>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-23
    • 1970-01-01
    • 2011-04-04
    • 2016-04-03
    • 1970-01-01
    • 2018-10-12
    相关资源
    最近更新 更多