使用Ajax方法实现分类注册,并且通过attr()改变input标签name的属性

 form表单中姓名的id必须要设置,下面会需要用attr()改变name的值,以便传到后台对应不同的name字段

<form method="post"id="myform" name="myform">
    姓名: <input type="text" name="name" id="name" ><br>
    密码: <input type="password" name="password" ><br>
    电话号码:<input type="number" name="phone"><br>
    性别:<input type="radio" value="男" name="gender"> 男
         <input type="radio" name="gender" value="女"> 女<br>
    注册类型:<select id="object" name="object">
        <option value="0">----请选择身份----</option>
        <option value="admin">管理员</option>
        <option value="teacher">教师</option>
        <option value="parent">家长</option>
        <option value="student">学生</option>
    </select>
    <br/>
</form>
<input type="button" onclick="register();" value="注册">

 通过attr()改变input标签的name的属性,ajax的url通过获取object设置跳转到不同的控制层

<script>
    function register() {
        var object = $('#object').val();
        if (object == "admin"){
            $('#name').attr('name','adminname');
        }else if(object == "teacher"){
            $('#name').attr('name','teachername');
        }else if(object == "parent"){
            $('#name').attr('name','parentname');
        }else if(object == "student"){
            $('#name').attr('name','studentname');
        }
        var jsonInfo = $('#myform').serializeObject();
        var jsonString = JSON.stringify(jsonInfo);
        console.log(jsonString);
        $.ajax({
            type:'POST',
            data:jsonString,
            url:"/"+object+"/register?t="+new Date().getTime(),
            contentType:"application/json",
            success:function (data,type) {
                alert(data.msg);
                location.href="/"
            },
            error:function (data) {
                alert(data.msg);
            }
        })
    }
    $.fn.serializeObject = function() {
        var o = {};
        var a = this.serializeArray();
        $.each(a, function() {
            if(o[this.name]) {
                if(!o[this.name].push) {
                    o[this.name] = [o[this.name]];
                }
                o[this.name].push(this.value || '');
            } else {
                o[this.name] = this.value || '';
            }
        });
        return o;
    };
</script>

猜你喜欢

转载自blog.csdn.net/Milan__Kundera/article/details/82779482