weixin_33736649 2015-09-01 11:39 采纳率: 0%
浏览 29


I have a signup page. I do a JQuery validation and then make an AJAX call to regForm.php to upload the new user if all of the fields are correct - pretty basic.

My problem

The validation is working but, when user registers, NOTHING HAPPENS. I get no success or error message, nothing written to the database, and my console on Chrome shows nothing. So I am pretty much stuck.

I'm sure it is just a small problem.... Perhaps something I'm missing?


 <div id="ajaxMsgDiv"></div>
        <form name="registration-form" id="regForm" method="post" action="regForm.php">
         <span id="sname-info" style="color:red"></span>
        Name: <br /><input type="text" id="sname" name="fName" onfocus="this.value='';" /><br />
        <span id="ssurname-info" style="color:red"></span>
        Surname:<br /> <input type="text" id="ssurname" name="fSurname" onfocus="this.value='';" /> <br />
        <span id="sspword-info" style="color:red"></span>
        Password:<br /><input type="text" id="spword" name="fPword" onfocus="this.value='';" /><br />
        <span id="sconfirmpword-info" style="color:red"></span>
        Confirm Pword:<br /><input type="text" id="sconfirmpword" name="pwordConfirm" onfocus="this.value='';" /><br />
         <span id="sEmail" style="color:red"></span>
        Email:<br /><input type="text" id="sEmail" name="sEmail" onfocus="this.value='';" /><br />
         <span id="sPhone-info" style="color:red"></span>
        Phone:<br /><input type="text" name="sPhone" id="sPhone" onfocus="this.value='';" /><br />
        Male<input type="radio" value="male"  name="sex">Female<input type="radio" value="female" name="sex"><br />
        <input type="submit" onclick="" value="Register" name="register" class="buttono" />


    <script type="text/javascript">
$(function () {
    var form = $('#regForm');
    var formMessages = $('#ajaxMsgDiv');

    // Set up an event listener for the contact form.
    $(form).submit(function (e) {
        // Stop the browser from submitting the form.

        //do the validation here
        if (!validateReg()) {

        // Serialize the form data.
        var formData = $(form).serialize();

        // Submit the form using AJAX.
            type: 'POST',
            url: $(form).attr('action'),
            data: formData
        }).done(function (response) {
            // Make sure that the formMessages div has the 'success' class.

            // Set the message text.
            $(formMessages).html(response); // < html();

            // Clear the form.
        }).fail(function (data) {
            // Make sure that the formMessages div has the 'error' class.

            // Set the message text.
            var messageHtml = data.responseText !== '' ? data.responseText : 'Oops! An error occured and your message could not be sent.';
            $(formMessages).html(messageHtml); // < html()


    function validateReg() {
        var valid = true;

        if (!$("#sname").val()) {
            $("#sname").css('background-color', '#FFFFDF');
            valid = false;

         if (!$("#ssurname").val()) {
            $("#ssurname").css('background-color', '#FFFFDF');
            valid = false;

         if (!$("#spword").val()) {
            $("#spword").css('background-color', '#FFFFDF');
            valid = false;

        if(!$("#sEmail").val()) {
        valid = false;
    if(!$("#sEmail").val().match(/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/)) {
        $("#sEmail-info").html("(invalid Email)");
        valid = false;

        if(!$("#sPhone").val()) {
        valid = false;

        return valid;
  • 写回答

1条回答 默认 最新

  • weixin_33737134 2015-09-01 11:52

    Your validation function always returns "false", that is why request isn`t sent. This happens because email validation never passes:

    if(!$("#sEmail").val()) {

    In its turn, that happens due to fact that you have a span and an input with same id. Try to change it:

    <span id="sEmail" style="color:red"></span> 

    See my fiddle: http://jsfiddle.net/9cs65xfn/




    • ¥15 存储过程或函数中的结果集类型变量如何使用。
    • ¥80 关于海信电视聚好看安装应用的问题
    • ¥15 vue引入sdk后的回调问题
    • ¥15 求一个智能家居控制的代码
    • ¥15 ad软件 pcb布线pcb规则约束编辑器where the object matpcb布线pcb规则约束编辑器where the object matchs怎么没有+15v只有no net
    • ¥15 虚拟机vmnet8 nat模式可以ping通主机,主机也能ping通虚拟机,但是vmnet8一直未识别怎么解决,其次诊断结果就是默认网关不可用
    • ¥20 求各位能用我能理解的话回答超级简单的一些问题
    • ¥15 yolov5双目识别输出坐标代码报错
    • ¥15 这个代码有什么语法错误
    • ¥15 给予STM32按键中断与串口通信