1. 程式人生 > >表單異步提交數據

表單異步提交數據

charset ret chan app text content con reat lec

<form name="form1">

    <input name="dsfurl" type="hidden" id="dsfurl">
        <table border="0" class="yy">

        <tbody>
            <tr>
                <td align="center"><input name="name" id="name" type="text" class="shur"  value=""  placeholder="請輸入您的姓名"
></td> </tr> <tr> <td align="center"><input id="haoma" name="tel" type="text" class="shur" value="" placeholder="請輸入聯系電話" ></td> </tr> <tr> <td align="center" class="field1"
style="height:30px"> <select type="text" name="yy" id="dateinfo" class="shur" style="width: 280px;background: #fff;"> <option value=‘‘>請選擇您的預約日期</option> <script language="javascript"> //
構造當前日期對象 var myDate = new Date(); //獲取年份 var year = myDate.getFullYear(); //獲取當前月份 var mouth = myDate.getMonth() + 1; //定義當月的天數; var days; //當月份為二月時,根據閏年還是非閏年判斷天數 if (mouth == 2) { days = year % 4 == 0 ? 29 : 28; }else if (mouth == 1 || mouth == 3 || mouth == 5 || mouth == 7 || mouth == 8 || mouth == 10 ||mouth == 12) { //月份為:1,3,5,7,8,10,12 時,為大月.則天數為31; days = 31; }else { //其他月份,天數為:30. days = 30; } var syu=days-myDate.getDate(); if(syu < 7){ for(var i = 0; i <=7; i++) { time = (myDate.getMonth() + 1) + "" + myDate.getDate() + ""; document.write("<option value=‘" + time + "‘>" + time + "</option>"); myDate.setDate(myDate.getDate() + 1); } }else{ for(var i = 0; i <= syu; i++) { time = (myDate.getMonth() + 1) + "" + myDate.getDate() + ""; document.write("<option value=‘" + time + "‘>" + time + "</option>"); myDate.setDate(myDate.getDate() + 1); } } </script> </select> </td> </tr> <tr> <td align="center"><textarea name="bq" id="bq" cols="" rows="" class="shur2" placeholder="請簡要描述一下" ></textarea></td> </tr> <tr> <td align="center" ><input type="button" class="anniu" id="submit" value="點擊提交預約信息" onclick="return checkgh(document.form1)";></td> </tr> <tr> <td align="center"> <p class="g-foot">溫馨提示:工作人員將在一個工作日內與您聯系!</p></td> </tr> </tbody> </table> </form> <script language="javascript"> document.getElementById(dsfurl).value=document.referrer; </script>

js代碼:

function checkgh(fm) {
    if (fm.name.value == ‘‘) {
        alert(‘請輸入您的名字‘);
        window.setTimeout(function () {
            fm.name.focus();
        }, 0);
        return false;
    }
    if (fm.tel.value == ‘‘) {
        alert(‘請輸入您的聯系方式‘);
        window.setTimeout(function () {
            fm.tel.focus();
        }, 0);
        return false;
    }
    if (!isMobile(fm.tel.value)) {
        alert("請填入正確的聯系號碼");
        window.setTimeout(function () {
            fm.tel.focus();
        }, 0);
        return false;
    }
    submitForm(fm);
    return true;
}


var trueStr = ‘您已成功預約!‘;

var falseStr = "很抱歉,預約失敗!";

function submitForm(form) {
    
    if (getCookie("submitcache") != null) {
        if (new Date().getTime() - getCookie("submitcache") < 1000 * 30) {
            alert("30秒內不能重復提交,請稍後再嘗試提交!");
            return false;
                        
        }
    }
    var xmlHttp = createXmlHttp();
    if (!xmlHttp) {
        alert(falseStr);
        return 0;
    }
    var url = ‘https//www.5z.com/gh22.php‘;
    var postData = "";
    var subtnchar = form.submit.value;
    for (var i = 0; i < form.length; i++) {
        postData += form.elements[i].name + "=" + form.elements[i].value + "&";
    }
    xmlHttp.open("POST", url, true);
      xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;&charset=utf-8");

    xmlHttp.onreadystatechange = function () {
        if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
            if (xmlHttp.responseText.indexOf("ok") != -1) {
                try {
                    document.cookie = "submitcache=" + new Date().getTime();
                } catch (e) {}
                alert(trueStr);
                form.reset();
            } else if (xmlHttp.responseText.indexOf("err") != -1) {
                alert(falseStr);
                form.reset();
            } else {
                var jsonString = xmlHttp.responseText;
                alert(jsonString.substring(11, jsonString.length - 2));
            }
            form.submit.value = subtnchar;
            form.submit.disabled = false;
        }
    }
    form.submit.value = "數據提交中……";
    form.submit.disabled = true;
    xmlHttp.send(encodeURI(postData));

    return true;
}

function createXmlHttp() {
    var xmlHttp = null;
    try {
        xmlHttp = new XMLHttpRequest();
    } catch (e) {
        try {
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    return xmlHttp;
}

function isMobile(s) {
    if (!(/^((1[34578]\d{9})|(0\d{10,11}))$/.test(s))) {
        return false;
    }
    return true;
}

function getCookie(name) {
    var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
    if (arr = document.cookie.match(reg))
        return unescape(arr[2]);
    else
        return null;
}

php文件執行的結果

1,執行成功 返回status:ok;

2,執行不成功,返回status:err;

表單異步提交數據