html表单操作和onclick


html form action and onclick

这里有一个名为upload_file.php的php文件:

<?php
  if ($_FILES["file"]["error"] > 0) {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
  } else {
    echo "Upload: " . $_FILES["file"]["name"] . "<br>";
    echo "Type: " . $_FILES["file"]["type"] . "<br>";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
    if (file_exists("upload/" . $_FILES["file"]["name"])) {
      echo $_FILES["file"]["name"] . " already exists. ";
    } else {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
    }
  }
?>

当我用html表单调用上述文件时:

<form action="upload_file.php" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit">
</form>

一切都很好,我设法将选定的文件上传到/upload本地服务器文件夹中。

我的问题是:如果我想使用onclick,那么与上面的形式等效的是什么?即在以下代码中

<a href="#x" class="overlay" id="browse_file"></a>
        <div class="popup">
            <h2>Browse for your file</h2>
            <input type="file" name="file" id="file"><br>
            <input type="button" value="file" onclick= "location.href = 'upload_file.php'">
        </div>

定义了一个弹出窗口(由另一个模式对话框控制-这就是我不想使用该表单的原因),当用onclick调用upload_file.php时,为了将选择的文件名传递给$_FILES,应该完成什么?

谢谢朋友们。

如果您想在表单中使用onclick函数,您应该了解AJAX和javascript。在jquery中有一个非常简单的ajax请求实现。此外,您还可以使用jquery轻松地从输入中获取所选文件。