1

我之前发布了关于另一个主题的帖子,并想感谢所有帮助我的人。我已经很好地清理了我的代码(我认为),但是现在当我单击“提交”时,什么也没有发生。我怀疑这个问题与使用 ajax 发送数据有关,但是我编写东西以发送文本和无线电数据的方式存在问题。在发布此之前,我确实进行了彻底的搜索,以查看该问题是否可能已在其他人的帖子中得到回答但没有找到 - 可能是因为我对 javascript 不够精明,无法将其与我自己的代码相关联。无论如何,这是一个示例http://jsfiddle.net/J2yWQ/78/如果有人能找到我的问题,我将不胜感激。

function emailWarning() {
    var check = document.getElementById("check");
    check.className = 'show';
}

function validateEmail(xem) {
    var re = /\S+@\S+\.\S+/;
    return re.test(xem);
}

function postData() {
        email = 'email'+document.getElementById('email').value;
    var tt = validateEmail(email);
    if (tt == true) {
        xmlhttp.open('POST', 'payment.php', true);
        xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
        xmlhttp.send(myProps.join("&"));
    } else {


    emailWarning();

    }

}

    var myProps = [];

function insert() {
    try {
        if (window.XMLHttpRequest) {
            xmlhttp = new XMLHttpRequest();
        } else {
            xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
        }


        myProps = [];

        function addProp(id) {
            var input = document.getElementById(id);
            if(!input) {
               input = document.forms[0][id];   
            }
            var value = encodeURIComponent(input.value);
            myProps.push(id + "=" + value);
        }

        addProp('child_name');
        addProp('age');
        addProp('hometown');
        addProp('boy_girl');
        addProp('first_name');
        addProp('last_name');
        addProp('email');
        addProp('address1');
        addProp('address2');
        addProp('city');
        addProp('state');
        addProp('zip');
        addProp('country');

        var flagInvalid = false;
        var tempArray = document.getElementsByClassName("required");
        for (var i = 0; i < tempArray.length; i++) {
            if (tempArray[i].value == "") {
                flagInvalid = true;


    break;
        }
    }

    if (flagInvalid == false) {
        postData();

    } else {

        var showValidationError = function(id) {
        var el = document.getElementById(id);
        if (el) {
            el.className = 'show';
        }
        else {
            alert('Missing element #' + id);
        }
    }

    showValidationError('log');
    for (var i = 1; i < 12; i++) {
        showValidationError('log' + i);
    }
}   

    } catch (e) {
        alert('An error occured in inert: ' + e);
    }

}
4

0 回答 0