键入“提交”,然后在表单“操作”之前执行onclick

时间:2018-11-05 05:00:17

标签: javascript php html

我有这种形式来选择一个csv文件,然后将其上传到mysql服务器:

<form class="ui input" enctype="multipart/form-data" method = "POST" action="trend_upload_csv.php" role = "form">
   <input type = "file" name ="file" id="file" size = "150">
   <input id="myBtn"  class="ui small red button" type = "submit" class = "btn btn-default"  name ="submit"  onclick = "myFunction();" value = "Upload CSV"  disabled  /> 
</form>

然后,如果选择了文件,则启用上载按钮的功能,然后在单击后禁用上载按钮,然后将按钮的文本更改为“正在上载”

<script>
   function myFunction() {
     document.getElementById("myBtn").disabled = true;
     document.getElementById("myBtn").value="Uploading";
   }

   $(document).ready(
   function(){
      $('input:file').change(
      function(){
          if ($(this).val()) {
             $('input:submit').attr('disabled',false);
          } 
      });
  });
</script>

我的问题是它没有对我的php代码执行操作,因此导致禁用了我的上传按钮,并将文本更改为“正在上传”,但没有任何反应。在onclick之前我该怎么做?

1 个答案:

答案 0 :(得分:0)

基本上,您告诉javascript,当我单击按钮时,只需更改按钮属性即可。不上传文件。而且您编写的jquery代码也是多余的。

您可以执行以下操作,以便在点击时提交表单,

<script>
   function myFunction() {
     document.getElementById("myBtn").disabled = true;
     document.getElementById("myBtn").value="Uploading";
     document.getElementById("myForm").submit();
   }
</script>

(不要忘记向表单添加id属性)