在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  HTML/ 小程序的form的submit函數(shù)里調(diào)用input的失焦事件會報錯,求指導(dǎo)

小程序的form的submit函數(shù)里調(diào)用input的失焦事件會報錯,求指導(dǎo)

微信小程序做form表單提交,我在form組件的submit函數(shù)里調(diào)用每個input綁定的失焦事件,在提交表單前驗(yàn)證下每個input數(shù)據(jù),但是發(fā)現(xiàn)直接調(diào)用失焦事件的話會報錯,具體代碼如下:

<form bindsubmit='submit'>
<input placeholder="請輸入姓名" bindblur="checkName"/>
<input placeholder="請輸入密碼" bindblur="checkPassword"/>
<button form-type='submit'>提交</button>
</form>

Page({
  data: {
    name: '',
    password: ''
  },
  checkName:function (e) {
    //這里正則驗(yàn)證輸入數(shù)據(jù)
    console.log(e.detail.value);
    if(驗(yàn)證通過){
    return true;
    }
    return false;
  },
  checkPassword:function(e) {
    //這里正則驗(yàn)證輸入數(shù)據(jù)
    console.log(e.detail.value);
    if(驗(yàn)證通過){
    return true;
    }
    return false;
  },
  submit:function (e) {
    if (!this.checkName()) return
    if (!this.checkPassword()) return
  }
})

報錯為:Cannot read property 'detail' of undefined;at pages/index/index page checkName function
TypeError: Cannot read property 'detail' of undefined

不在submit里調(diào)用那幾個失焦函數(shù)的話,正常input失焦可以打印e.detail.value的,但為啥調(diào)了就報錯了

回答
編輯回答
淺時光

你直接調(diào)用函數(shù),this傳不過去啊,就取不到用戶名和密碼的值
正確方法應(yīng)該是把組件的value與data中的name和password進(jìn)行雙向綁定
檢查的時候檢查data里的name和password,這樣不管在哪里調(diào)用函數(shù)都能正常運(yùn)行

2017年8月19日 19:08