serializeArray、错误信息渲染
一、ComboBox控件
Click和Change这两个事件到底有什么不同呢?
Click事件是选择列表项,而Change事件则是编辑内容。
这两个事件的结果都是使ComboBox控件中的现实内容发生变化。
但是一个是通过鼠标点击,即Click。另一个是通过在输入框中编辑内容,即Change。
二、文件阅读器对象FileReader
1、.readAsDataURL 方法
例子:
$('#id_avatar').change(function () { //1先获取用户上传的头像文件 $(this) 表示指代的是 <input type="file" name="myfile" 这个input 框 // $(this)[0]中的0表示 转成原生js对象 //.files[0] 表示 点files 再取索引0 就能拿到这个文件了 var avaterFile = $(this)[0].files[0]; //2利用文件阅读器对象FileReader var myFileReader = new FileReader(); //3将文件交由阅读器对象读取 myFileReader.readAsDataURL(avaterFile) })
三、知识点
1、img 标签中的src 属性 可以放图片的路径,可以放url,可以放一个二进制数据
2、onload 表示等待 什么什么(文件阅读器对象读取文件)之后再操作什么
3、 location.href = data.url 表示要跳转页面
success:function (data) {
if (data.code===1000){
// code 等于1000 表示注册成功,要跳转页面
location.href = data.url
四、内置对象FormData 用来向后端提交 既有普通数据又有文件的 请求
五、.serializeArray() 表示能拿到普通input框的普通键值对
既是:input框的名字:input框中的内容
这是方法可以帮你把form标签内部所有的普通键值对自动打包了,就可以直接用each循环拿到每个键值对了。
//点击按钮触发ajax提交动作
$('#id_submit').on('click',function () {
//1.先生成一个内置对象FormData
var myFormData = new FormData();
//2.添加普通键值对
console.log($('#myform').serializeArray())
这是 //2.添加普通键值对 console.log($('#myform').serializeArray()) 的结果
六、$.each() 表示循环
//点击按钮触发ajax提交动作
$('#id_submit').on('click',function () {
//1.先生成一个内置对象FormData
var myFormData = new FormData();
//2.添加普通键值对,each表示循环,依次拿出普通键值对
{# .serializeArray() 表示能拿到普通input框的 普通键值对既是:input框的名字:input框中的内容#}
{# console.log($('#myform').serializeArray())#}
$.each($('#myform').serializeArray(),function (index,obj) {
console.log(index,obj)
})
index和obj 是指
七、前端错误信息的渲染
// 这里的data是views中的back_dic
success:function (data) {
if (data.code===1000){
// code 等于1000 表示注册成功,要跳转页面
location.href = data.url
}else{
console.log(data.msg)
}
怎样把错误信息渲染到对应的框后面
可以看出每个框的id是什么
由此得出结论是:每个框的id为:id_框的名字 既是:id_字段名
// 这里的data是views中的back_dic
success:function (data) {
if (data.code===1000){
// code 等于1000 表示注册成功,要跳转页面
location.href = data.url
}else{
$.each(data.msg,function (index,obj) {
console.log(index,obj)
})
}
循环这个msg 到前端展示时,它是
。