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

