微信小程序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)槟闼⑿潞?,value值修改,然后呢?
然后頁(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)文章
javascript中$(function() {});寫(xiě)與不寫(xiě)有哪些區(qū)別
javascript中$(function() {....}) 是jQuery中的經(jīng)典用法,等同于 $(document).ready(function() {....}) javascript中$(function() {});寫(xiě)與不寫(xiě)有哪些區(qū)別,需要的朋友可以參考下2015-08-08
JS實(shí)現(xiàn)日期時(shí)間動(dòng)態(tài)顯示的方法
這篇文章主要介紹了JS實(shí)現(xiàn)日期時(shí)間動(dòng)態(tài)顯示的方法,涉及JavaScript基于時(shí)間函數(shù)定時(shí)操作頁(yè)面元素屬性的相關(guān)技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-12-12
鼠標(biāo)經(jīng)過(guò)tr時(shí),改變tr當(dāng)前背景顏色
本篇文章主要介紹了鼠標(biāo)經(jīng)過(guò)tr時(shí),改變tr當(dāng)前背景顏色的示例代碼,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-01-01
js獲取url中的參數(shù)且參數(shù)為中文時(shí)通過(guò)js解碼
這篇文章主要介紹了url中傳遞中文參數(shù)的時(shí)候通過(guò)js解碼,需要的朋友可以參考下2014-03-03
bootstrap 下拉多選框進(jìn)行多選傳值問(wèn)題代碼分析
項(xiàng)目開(kāi)發(fā)遇到個(gè)問(wèn)題,就是引入bootstrap下拉多選框進(jìn)行多選的時(shí)候,用form表單提交到后臺(tái),獲取不到多選的值,只能獲取的選擇的第一個(gè)值,怎么回事呢?下面小編給大家分析下bootstrap 下拉多選框進(jìn)行多選傳值問(wèn)題,一起看看吧2017-02-02
laydate 顯示結(jié)束時(shí)間不小于開(kāi)始時(shí)間的實(shí)例
下面小編就為大家?guī)?lái)一篇laydate 顯示結(jié)束時(shí)間不小于開(kāi)始時(shí)間的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08

