微信小程序bindinput與bindsubmit的區(qū)別實(shí)例分析
本文實(shí)例講述了微信小程序bindinput與bindsubmit的區(qū)別。分享給大家供大家參考,具體如下:
實(shí)際上的話,bindinput還有bindsubmit是沒(méi)有任何的可比性的,但是兩者還是常常被人一起比較,為啥?
比如一個(gè)簡(jiǎn)單的搜索框,你是愿意選擇使用bindinput還是使用bindsubmit?,雖然一個(gè)是表單,一個(gè)是文本輸入框,但是兩者都有一個(gè)共同點(diǎn),就是可以去獲取到用戶的輸入信息。這個(gè)時(shí)候,問(wèn)題來(lái)了,區(qū)別在哪兒?
最簡(jiǎn)單的一段代碼在下面:
<form bindsubmit='input1input'> <input name="input1" placeholder='這個(gè)是輸入框' style='border:1rpx solid #000;'></input> <button form-type="submit">提交按鈕</button> </form> <input bindinput='input2input' placeholder='這個(gè)是輸入框' style='margin-top:200rpx;border:1rpx solid #000;'></input> <button>提交按鈕</button>
// pages/input/input.js Page({ data: { input1: "", input2: "" }, input1input: function (e) { console.log(e); console.log(e.detail.value.input1) }, input2input: function (e) { console.log(e); console.log(e.detail.value); } })
甚是簡(jiǎn)單,那么問(wèn)題來(lái)了,區(qū)別在哪兒?
當(dāng)然,暫時(shí)的區(qū)別只有一個(gè),就是console.log
比較多,哈哈,開(kāi)玩笑的。根據(jù)深圳那邊客戶的反應(yīng),說(shuō)是使用input的時(shí)候,移動(dòng)光標(biāo)到一個(gè)地方后,輸入一個(gè)文字,會(huì)重新移動(dòng)光標(biāo)的尾部,當(dāng)然,不是上面的那些代碼了,上面的代碼是沒(méi)問(wèn)題的
有問(wèn)題的是下面的代碼:
// pages/input/input.js Page({ data: { input1: "this is the value for input1", input2: "this is the value for input2" }, input1input: function (e) { console.log(e); console.log(e.detail.value.input1); this.setData({ input1: e.detail.value.input1 }) }, input2input: function (e) { console.log(e); console.log(e.detail.value); this.setData({ input2: e.detail.value }) } })
<form bindsubmit='input1input'> <input value='{{input1}}' name="input1" placeholder='這個(gè)是輸入框' style='border:1rpx solid #000;height:100rpx;'></input> <button form-type="submit">提交按鈕</button> </form> <input value="{{input2}}" bindinput='input2input' placeholder='這個(gè)是輸入框' style='height:100rpx;margin-top:200rpx;border:1rpx solid #000;'></input> <button>提交按鈕</button>
其實(shí)原因很簡(jiǎn)單,就在一個(gè)地方,就是刷新界面的this.setData
這而,為啥?因?yàn)槟闼⑿潞螅瑅alue值修改,然后呢?
然后頁(yè)面就刷新了,再然后呢?再然后就是因?yàn)槟阍O(shè)置的是光標(biāo)自動(dòng)移動(dòng)到最后一步,所以,最好的話是使用input的時(shí)候要小心點(diǎn)咯,當(dāng)然我不是說(shuō)使用input沒(méi)有使用submit好,只是適應(yīng)場(chǎng)景不同而已,比如沒(méi)必要使用bindinput的時(shí)候去刷新界面,或則說(shuō)我個(gè)人比較偏愛(ài)使用bindsbmit吧,。
希望本文所述對(duì)大家微信小程序開(kāi)發(fā)有所幫助。
- 淺談layui 綁定form submit提交表單的注意事項(xiàng)
- BootStrap表單驗(yàn)證中的非Submit類型按鈕點(diǎn)擊時(shí)觸發(fā)驗(yàn)證的坑
- 解決vue2.0 element-ui中el-upload的before-upload方法返回false時(shí)submit()不生效問(wèn)題
- 利用AjaxSubmit()方法實(shí)現(xiàn)Form提交表單后回調(diào)功能
- JavaScript在form表單中使用button按鈕實(shí)現(xiàn)submit提交方法
- Nodejs下用submit提交表單提示cannot post錯(cuò)誤的解決方法
- JS button按鈕實(shí)現(xiàn)submit按鈕提交效果
- 通過(guò)代碼示例了解submit與execute的區(qū)別
相關(guān)文章
純js寫(xiě)的分頁(yè)表格數(shù)據(jù)為json串
這篇文章主要介紹了純js寫(xiě)的分頁(yè),表格數(shù)據(jù)為json串,需要的朋友可以參考下2014-02-02javascript實(shí)現(xiàn)全屏頁(yè)面滾動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)全屏頁(yè)面滾動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10xmlplus組件設(shè)計(jì)系列之路由(ViewStack)(7)
xmlplus 是一個(gè)JavaScript框架,用于快速開(kāi)發(fā)前后端項(xiàng)目。這篇文章主要介紹了xmlplus組件設(shè)計(jì)系列之路由,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05JS實(shí)現(xiàn)簡(jiǎn)單表格排序操作示例
這篇文章主要介紹了JS實(shí)現(xiàn)簡(jiǎn)單表格排序操作,結(jié)合具體實(shí)例形式分析了JavaScript事件響應(yīng)及table表格動(dòng)態(tài)操作相關(guān)技巧,需要的朋友可以參考下2017-10-10JavaScript常用語(yǔ)句循環(huán),判斷,字符串換數(shù)字
這篇文章主要介紹了JavaScript常用語(yǔ)句主要包括對(duì)循環(huán),判斷,字符串換數(shù)字相關(guān)資料的介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下具體內(nèi)容2021-12-12JS實(shí)現(xiàn)的表頭列頭固定頁(yè)面功能示例
這篇文章主要介紹了JS實(shí)現(xiàn)的表頭列頭固定頁(yè)面功能,涉及javascript針對(duì)頁(yè)面元素及表格樣式動(dòng)態(tài)操作相關(guān)技巧,需要的朋友可以參考下2017-01-01