尽管 jQuery.noConflict(),但我无法使用 2 个版本的 jQuery 使我的上传表单工作


Cant make my upload form work using 2 versions of jQuery despite jQuery.noConflict()

我有一个网页,里面有 2 种不同的形式,第一个用于上传图片(它应该提供新上传图片的链接),第二个是"常规"表单,允许将产品添加到数据库中,我在其中使用第一个表单给出的链接。问题是我使用 bootstrap 的 jQuery,而上传表单使用 1.7.2 版本(不用说,有冲突。

一旦我点击"发送"按钮,它应该会出现一个加载栏并显示"100%",然后是图像 URL,而上传过程是在另一个名为"upload.php的文件中完成的问题是,即使我使用了'jQuery.noConflic()';它仍然继续重定向我上传.php那里没有什么可看的,但我找不到问题......

这是上传表格:

<form id="myForm" action="upload.php" name="upload" method="post" enctype="multipart/form-data">
  <div class="form-group">
    <label class="col-md-4 control-label" for="filebutton">Uploader une image</label>
    <div class="col-md-3">
      <input id="filebutton" name="filebutton" class="input-file" type="file">
      <div id="progress">
        <div id="bar"></div>
        <div id="percent">0%</div >
        <br />
        <div id="alerte"></div>
      </div>
    </div>
    <div class="form-group">
      <label class="col-md-3 control-label" for="envoyer"></label>
        <div class="col-md-3">
          <button type="file" value="envoyer" id="formenvoyer" name="myfile" class="btn btn-primary">Envoyer</button>
        </div>
    </div>
  </div>
</form>

这是PHP文件:

<?php
$output_dir = "img/";

if(isset($_FILES["myfile"]))
{
 //Filter the file types , if you want.
 if ($_FILES["myfile"]["error"] > 0)
 {
   echo "Error: " . $_FILES["file"]["error"] . "<br>";
 }
 else
 {
      //move the uploaded file to uploads folder;
 move_uploaded_file($_FILES["myfile"]["tmp_name"],$output_dir. $_FILES["myfile"]["name"]);
  echo "<p>Uploaded File :<br />http://grindhouseleather.esy.es/admin/img/".$_FILES["myfile"]["name"]."</p>";
 }
}
?>

这是JS:

jQuery = jQuery.noConflict();
jQuery(document).ready(function()
{
var options = { 
beforeSend: function() 
{
    $("#progress").show();
    //clear everything
    $("#bar").width('0%');
    $("#alerte").html("");
    $("#percent").html("0%");
},
uploadProgress: function(event, position, total, percentComplete) 
{
    $("#bar").width(percentComplete+'%');
    $("#percent").html(percentComplete+'%');

},
success: function() 
{
    $("#bar").width('100%');
    $("#percent").html('100%');
},
complete: function(response) 
{
    $("#alerte").html("<font color='green'>"+response.responseText+"</font>");
},
error: function()
{
    $("#alerte").html("<font color='red'> ERROR: Impossible d'uploader les fichiers</font>");
}
}; 
 $("#myForm").ajaxForm(options);
});

我错过了什么?提前谢谢你!

你不应该使用 jQueryjQuery.noConflict(); 。将其更改为:

jq = jQuery.noConflict();

原因是:

jQuery = jQuery.noConflict();

上面的代码没有区别。