2013-05-11 81 views
0

我想知道我可以用我的Javascript代码在我的jQuery的AJAX代码:JS:插入JS到的jQuery/AJAX代码

JS代码

var error=""; 

function Checkfiles() { 
    var fup = document.getElementById('flUpload'); 
    var fileName = fup.value; 
    var ext = fileName.substring(fileName.lastIndexOf('.') + 1); 
    var chkext = ext.toLowerCase(); 

    if(chkext=="gif" || chkext=="jpg" || chkext=="jpeg" || chkext=="png") { 
     return true; 
    } else { return false; } 
} // Checkfiles 

function Checksize() { 
    var iSize; 
    if ($("#flUpload")[0].files[0]){ iSize = ($("#flUpload")[0].files[0].size/1024);} 
    if(Checkfiles()==true && iSize < 51.200) { return true; } else { error += "- Only GIF, PNG, JPG images, smaller than 50 KB."; return false; } 
} //Checksize 

这jQuery代码:

$(document).ready(function() { 

$("#ff1").submit(function(e){ 
    // prevent submit 
    e.preventDefault(); 

    var email = document.getElementById("email").value; 
    var title = document.getElementById("title").value; 
    var url = document.getElementById("url").value; 
    var parametros = {"emaail":email, "tiitle":title, "uurl":url, "filee":file}; 

    $.ajax({ 
     data: parametros, 
     url: 'validate.php', 
     type: 'post', 
     context: this, 
     error: function (response) { 
      alert("An error has occurred! Try Again!"); 
     }, 
     success: function (response) { 
      if($.trim(response) == 'bien') { 
       this.submit(); // submit, bypassing jquery bound event 
      } 
      else { 
       $("#ajax_call_val").html('<div id="validation"><ul>'+response+'</ul></div>'); 
      } 
     } 
    }); 

}); 

}); 

我想验证我的Javascript代码文件输入,如果Checksize()返回true,在AJAX下面的代码行应该是:

$("#ajax_call_val").html('<div id="validation"><ul>'+response+'</ul></div>'); 

如果Checksize()返回false,应该是:提前

$("#ajax_call_val").html('<div id="validation"><ul>'+response+'<li>Only GIF, PNG, JPG images, smaller than 50 KB</li></ul></div>'); 

谢谢!

回答

1

在成功的功能做:

if (Checksize()) { 
    $("#ajax_call_val").html('<div id="validation"><ul>'+response+'</ul></div>'); 
} else { 
    $("#ajax_call_val").html('<div id="validation"><ul>'+response+'<li>Only GIF, PNG, JPG images, smaller than 50 KB</li></ul></div>'); 
} 

结合您上面的代码:我应该

var error=""; 

function Checkfiles() { 
    var fup = document.getElementById('flUpload'); 
    var fileName = fup.value; 
    var ext = fileName.substring(fileName.lastIndexOf('.') + 1); 
    var chkext = ext.toLowerCase(); 

    if(chkext=="gif" || chkext=="jpg" || chkext=="jpeg" || chkext=="png") { 
     return true; 
    } else { return false; } 
} // Checkfiles 

function Checksize() { 
    var iSize; 
    if ($("#flUpload")[0].files[0]){ iSize = ($("#flUpload")[0].files[0].size/1024);} 
    if(Checkfiles()==true && iSize < 51.200) { return true; } else { error += "- Only GIF, PNG, JPG images, smaller than 50 KB."; return false; } 
} //Checksize 

$(document).ready(function() { //blah }); 
+0

它不工作,我的主要问题是在哪里把我的JS代码从jQuery的成功调用它如果它真的会起作用。 – 2013-05-11 04:12:18

+0

把它放在DOM就绪语句后面,以便访问它 – tymeJV 2013-05-11 04:26:18

+0

谢谢,但由于某种原因,不工作,如果我不添加JS代码,完美的作品,但它不验证我想要的。而且我的JS也是完美的。所以我认为在尝试结合JS和jQuery时会出现问题。 :( – 2013-05-11 04:28:52