收藏
回答

没有bindinput事件的输入框怎么获取输入框的值?

问题模块
API和组件

<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。求高人指点

最后一次编辑于  2017-04-03  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

4 个回答

  • 道哥
    道哥
    2017-04-04

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

    2017-04-04
    赞同
    回复
  • 永康
    永康
    2017-04-03

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

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

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

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

    里面有详细介绍。

    2017-04-03
    赞同
    回复
  • 天行者
    天行者
    2017-04-03

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

    2017-04-03
    赞同
    回复
  • 🇶  🇺  🇸 🇹
    🇶 🇺 🇸 🇹
    2017-04-03

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

    在WEB里这样写:

    var tempVal = document.getElementById("xxxx");

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

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

    不知道可不可行。

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

    行否

    2017-04-03
    赞同
    回复