没有bindinput事件的输入框怎么获取输入框的值?
发布于 5 年前 作者 lzhao 8372 次浏览 来自 问答

<input placeholder=“随机口令” name=“code” value="{{motto}}" />

这个输入框里面的内容是程序生成的,也就是没有获取焦点和输入等事件,然后我想弄一个按钮获取输入框里面的值到剪切板

对应单位是

<button bindtap=“copy” >复制到剪切板</button>

js是下面部分

copy: function () {
    wx.setClipboardData({
      data: codeword,
      success: function (res) {
        wx.getClipboardData({
          complete: function (res) {
             wx.showToast({
              title: '操作完成',
              icon: 'success',
              duration: 2000
            })
             
          }
        })
      }
    })
    
  }

现在一个疑问是这个codeword,如果直接在page上面使用全局变量var codeword=‘xxxx’,则这里不出错,剪切板获取到xxxx,但是如果是在page{}里面使用data:赋值,则出错,这个应该属于一个bug吧,最主要的问题,这种情况下我要怎么获取这个名字为code的输入框的值?因为按钮和输入框不是一个元素,用e不对,所以没法直接用e.detail.value,也没办法用e.detail.value.code。求高人指点

4 回复

恢复1楼的,小程序里面没有这个东西,否则就不用愁了,也许迟点升级了可能有。

同在一个page里,应该可以使用  this.data.motto 来访问这个input的value。

小程序里所有和组件的数据交互,好像都是只能通过这个{{xxx}}变量来做。

我也是纠结了一晚之后找了个例子来看,才明白过来。后来一查文档,

全部在 https://mp.weixin.qq.com/debug/wxadoc/dev/framework/view/wxml/data.html

里面有详细介绍。

getElementById是不可能的了。我有一招,把button改成submit把,点击按钮就是提交一个form,这样你就可以取到里面的值了。

我刚刚接触小程序,以前一直做web开发。我猜会不会有类似这样的代码可以取出wxml里控件的内容:

在WEB里这样写:

var tempVal = document.getElementById(“xxxx”);

小程序开发里是不是也类似呢。。。。

我自己没试过,就是觉得小程序开发逻辑层也是用JS写的。

不知道可不可行。

甚至于你不写button绑定事件,直接在后台生成的时候同时执行你上面写的success回调函数的内容。。。

行否

回到顶部