我在表单中有一个表单,这会使顶层表单无响应。当我取下第二个表格(在第一个表格内)时,第一个表格起作用。这是我的第二种形式:
<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的替代方法是什么?
答案 0 :(得分:0)
由于您要上传文件,请查看Ravi Kusuma&#39; 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);
注意PHP(myfile
)中$_FILES["myfile"]
与jQuery代码块中指定的文件名之间的关系。
不要忘记查看Server Side
标签中的server-side code - 您需要这两个部分(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
与任何插件一样,抵制将其插入代码的诱惑。首先用它做一些快速和肮脏的测试。踢它的轮胎。 十五分钟将为您节省两个小时。
不要忘记验证上传的内容。你永远不知道发展中国家的黑帽子何时可能试图获得一个新账户。