我的表单内有一个表单,这使得顶部表单无响应。当我取下第二个表格(位于第一个表格内)时,第一个表格起作用。这是我的第二种形式:
<form action="imgupload.php" method="post" enctype="multipart/form-data">
<h3>Upload a new image:</h3>
<input type="file" name="fileToUpload" id="fileToUpload">
<br>
<input type="hidden" value="<?php echo $row['Gallery_Id']; ?>" name="gid">
<input type="hidden" value="User" name="user">
<input type="submit" value="Upload Image" name="imgup">
</form>
由于这使得第一个表单无法工作,我想知道是否可以去掉表单字段,然后提交按钮可以像这样将表单数据发送到 imgupload.php
。
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="hidden" value="<?php echo $row['Gallery_Id']; ?>" name="gid">
<input type="hidden" value="User" name="user">
<input type="submit" value="Upload Image" name="imgup" action="imgupload.php" method="post" enctype="multipart/form-data">
这现在不起作用。有什么办法可以让它工作吗?如果没有,有什么替代方法可以将此数据发送到其他 php?
最佳答案
既然您正在上传文件,请查看 Ravi Kusuma 的 Hayageek jQuery File Upload plugin 。很简单,它就是一把瑞士军刀,而且很有效。
研究示例。
http://hayageek.com/docs/jquery-upload-file.php
Ravi 将这个过程分为三个简单的步骤,基本上如下所示:
<head>
<link href="http://hayageek.github.io/jQuery-Upload-File/uploadfile.min.css" rel="stylesheet"> // (1)
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://hayageek.github.io/jQuery-Upload-File/jquery.uploadfile.min.js"></script> // (1)
</head>
<body>
<div id="fileuploader">Upload</div> // (2)
<script>
$(document).ready(function(){
$("#fileuploader").uploadFile({ // (3)
url:"my_php_processor.php",
fileName:"myfile"
});
});
</script>
</body>
最后一步是在 jQuery 代码中指定 PHP 文件(在本例中为 my_php_processor.php
)来接收和处理该文件:
my_php_processor.php:
<?php
$output_dir = "uploads/";
$theFile = $_FILES["myfile"]["name"];
move_uploaded_file($_FILES["myfile"]["tmp_name"],$output_dir.$fileName);
注意 myfile
之间的关系在 PHP ( $_FILES["myfile"]
) 中,以及 jQuery 代码块中指定的文件名。
别忘了查看server-side code来自Server Side
选项卡 - 您需要两个部分(js 和 php)。
再次查看您的问题,您可能也想使用此功能:
dynamicFormData: function()
{
var data ={ location:"INDIA"}
return data;
}
或
dynamicFormData: function(){
return {
newID: $("#newNID").val(),
newSubj: $("#newSubj").val(),
newBody: $("#newBody").val(),
formRole: $('#formRole').val()
};
这些将出现在 PHP 端,因此:
$newID = $_POST['newID'];
$subj = $_POST['newSubj'];
etc
<小时/>
与任何插件一样,请抵制将其放入代码中的诱惑。首先用它做一些快速而简单的测试。踢轮胎。 十五分钟将为您节省两个小时。
并且不要忘记验证上传的内容。您永远不知道发展中国家的黑帽何时可能会尝试获得新帐户。
关于javascript - 使用 POST 提交按钮而不是使用 HTML 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36439752/