当注册{#form并添加novalidate参数时,将显示前端h5的
{ { form _ obj.username } } { form _ obj.username.errors.0 } { { form _ obj.password.label }
{ { form _ obj.password } } { form _ obj.password.errors.0 } { { form _ obj.re _ password.label }
{ { form _ obj.re _ password } { { form _ obj.re _ password.errors.0 } { { form _ obj.email.label } }
{ { form _ obj.email } } { { form _ obj.email.errors.0 }头像
注册
{##}
var fileReader=new FileReader; //更改前端图片前,阅读完文件内容
filereader.readasdataurl (this.files [0] ); //读取文件很花时间//文件读取结束后重新加载到img
fileReader.nlad=function () {
$('#avatar-img ' ).attr('src ',fileReader.result );
}
);
($('#reg-submit ' ).click(function () ) ) ) )。
var formData=new FormData;
formdata.append('username ',$ ) ' #id_username ' ).val );
formdata.append('password ',$ ) ' #id_password ' ).val;
formdata.append(re_password ),$ ) id_re_password ).val );
formdata.append('email ',$ ) ' #id_email ' ).val ); //这里传递的是文件对象,为了能够识别文件,在后台获取此文件对象时,将使用models字段表的upload_to='avator '参数对服务器进行解码
formdata.append('Avatar ',$(#id_Avatar ' ) [0].files[0] );
formdata.append (' csrfmiddlewaretoken ',$([name='csrfmiddlewaretoken ' ) ] ).val );
$.Ajax({
url:'/register/',
如果需要传输type:'post ',//图像,则必须将processData和contentType设置为false
流程数据:假,
内容类型:假,
数据:格式、
success3360function(data )//其中data是从后端返回的字典ret=(status ) :(msg ) : )/reg/(if ) data.status ) //在页面上填写错误信息
$.each(data.msg,function (k ) k,v ) )//console.log )、id_'k,v[0]; //console.log($(#id_'k ) );
$('#id_' k ).next(span ).text ) v[0].parent ).parent ).addclass(has-error ) );
(//console.log ) 123 ) )。
(else ) /如果没有错误,跳到指定的页面。 其中data是后端返回的字典ret=(Status(:) msg ) : )/reg/) }
location.href=data.msg;
}
}
() )
); 当input获取焦点事件时,它会删除报告错误的样式,并在晴朗的天空中报告错误信息。
$'forminput'.focus(function () ) ) ) )。
$(this ).next ).text (' ).parent ).removeclass('has-error ' );
() )
$('#id_username ' ).blur(function () ) )。
varusername=$(this ).val );
$.Ajax({
URL : '/check _ username _ exist/',
类型: ' get ',
data : { ' username ' : username },
success3360function(data ) if (data.status )//$ ) #id_username ' ).next.text ) data.msg ).parentelect //。
$('#id_username ' ).next(.text ) data.msg ).parent ).parent ).addclass('has-error ' );
}
}
() )
() )