• Ajax提交表单 Joyce


    //Ajax提交表单
    1
    Code 2 function ajaxSubmitForm(form, resultDivId) { 3 form=document.getElementById(form); 4 var elements = form.elements;// Enumeration the form elements 5 var element; 6 var i; 7 var postContent = "";// Form contents need to submit 8 for(i=0;i<elements.length;++i) { 9 var element=elements[i]; 10 if(element.type=="text" || element.type=="textarea" || element.type=="hidden") { 11 postContent += encodeURIComponent(element.name) + "=" + encodeURIComponent(element.value) + "&"; 12 } 13 else if(element.type=="select-one"||element.type=="select-multiple") { 14 var options=element.options,j,item; 15 for(j=0;j<options.length;++j){ 16 item=options[j]; 17 if(item.selected) { 18 postContent += encodeURIComponent(element.name) + "=" + encodeURIComponent(item.value) + "&"; 19 } 20 } 21 } else if(element.type=="checkbox"||element.type=="radio") { 22 if(element.checked) { 23 postContent += encodeURIComponent(element.name) + "=" + encodeURIComponent(element.value) + "&"; 24 } 25 } else if(element.type=="file") { 26 if(element.value != "") { 27 postContent += encodeURIComponent(element.name) + "=" + encodeURIComponent(element.value) + "&"; 28 } 29 } else { 30 postContent += encodeURIComponent(element.name) + "=" + encodeURIComponent(element.value) + "&"; 31 } 32 } 33 //alert(postContent); 34 ajaxSubmit(form.action, form.method, postContent); 35 } 36 // url - the url to do submit 37 // method - "get" or "post" 38 // postContent - the string with values to be submited 39 // resultDivId - the division of which to display result text in, in null, then 40 // create an element and add it to the end of the body 41 function ajaxSubmit(url, method, postContent, resultDivId) { 42 var loadingDiv = document.getElementById('loading'); 43 // call in new thread to allow ui to update 44 window.setTimeout(function () { 45 loadingDiv.innerText = "Loading."; 46 loadingDiv.style.display = ""; 47 }, 1000); 48 // code for Mozilla, etc. 49 if (window.XMLHttpRequest) { 50 xmlhttp=new XMLHttpRequest(); 51 } 52 // code for IE 53 else if (window.ActiveXObject) { 54 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 55 } 56 if(xmlhttp) { 57 xmlhttp.onreadystatechange = function() { 58 // if xmlhttp shows "loaded" 59 if (xmlhttp.readyState==4) { 60 if(resultDivId) { 61 document.getElementByID(resultDivId).innerHTML = xmlhttp.responseText; 62 } 63 else { 64 var result = document.createElement("DIV"); 65 result.style.border="1px solid #363636"; 66 result.innerHTML = xmlhttp.responseText; 67 document.body.appendChild(result); 68 } 69 loadingDiv.innerHTML = "Submit finnished!"; 70 } 71 }; 72 if(method.toLowerCase() == "get") { 73 xmlhttp.open("GET", url + "?" + postContent, true); 74 xmlhttp.send(null); 75 } 76 else if(method.toLowerCase() == "post") { 77 xmlhttp.open("POST", url, true); 78 xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 79 xmlhttp.send(postContent); 80 } 81 } else { 82 loadingDiv.innerHTML = "Can't create XMLHttpRequest object, please check your web browser."; 83 } 84 }
  • 相关阅读:
    如何在Altium中下载并添加软件没有的苦文件【转】
    20121124
    变量作用域&函数作用域
    http相关知识
    函数声明和函数表达式
    js中constructor和prototype
    委托模式
    js跨域
    原型和原型链
    javascript 数据类型
  • 原文地址:https://www.cnblogs.com/joycelee/p/2753302.html
Copyright © 2020-2023  润新知