我正在制作一个表单,我必须在其中发送图像,用户和密码,这是通过返回php脚本响应的JavaScript发生的,但是在php脚本中,我需要使用$ _FILE
,但是这不会产生响应,但是,如果我注释JavaScript代码$FILES
的工作,而我忘记了问题出在这一代码中,但是我没有给出答案。 (对不起,我的英语,请使用翻译器)
代码:
JavaScript:
$("#form").submit(function () {
var a = $(this).attr("action");
$("#regmessage").slideUp(750, function () {
$("#message").hide();
$("#submit").attr("disabled", "disabled");
$.post(a, {
user: $("#user").val(),
pass: $("#pass").val(),
avatar: $("#avatar").val(),
}, function (a) {
document.getElementById("message").innerHTML = a;
$("#message").slideDown("slow");
$("#submit").removeAttr("disabled");
if (null != a.match("success")) $("#form").slideDown("slow");
});
});
return false;
});
$("#form input, #form textarea").keyup(function () {
$("#message").slideUp(1500);
});
$('.chosen-select').selectbox();
php(仅用于测试$_FILES
是否有效::
echo $_FILES["avatar"]["tmp_name"];
HTML:
<div id="message"></div>
<form action="php/subiravatar.php" method="POST" name="form" id="form" enctype="multipart/form-data">
<label><i class="fal fa-user"></i></label>
<input type="text" name="user" id="user" placeholder="Usuario *" value=""/>
<label><i class="fal fa-key"></i></label>
<input type="password" name="pass" id="pass" placeholder="Contraseña *" value=""/>
<img id="avatarPrevisualizacion" style="width: 100px; height: 100px;">
<input type="file" id="avatar" name="avatar">
<label for="avatar"><strong>Sube tu avatar...</strong></label>
<button name="submit" id="submit">Registrarse</button>
</form>
看起来像是这个问题的重复,有一个答案(没有插件,JQuery不允许这样做):PHP file-upload using jquery post