react 获取input标签的输入值

参考:https://segmentfault.com/a/1190000012404114

两种方法,受控组件和非受控组件。

推荐使用受控组件,即通过this.state获取,因为其符合react规范;

受控组件示例,将文本框中字母转为大写

<input
    type="text"
    value={this.state.value}
    onChange={(e) => {
        this.setState({
            value: e.target.value.toUpperCase(),
        });
    }}
/>

也可以使用非受控组件,即给标签指定ref属性:

import React, { Component } from ‘react‘;

class UnControlled extends Component {
    handleSubmit = (e) => {
        console.log(e);
        e.preventDefault();
        console.log(this.name.value);
    }
    render() {
        return (
            <form onSubmit={this.handleSubmit}>
                <input type="text" ref={i => this.name = i} defaultValue="BeiJing" />
                <button type="submit">Submit</button>
            </form>
        );
    }
}

export default UnControlled;

原文地址:https://www.cnblogs.com/zealousness/p/10531868.html

时间: 2024-08-05 19:33:44

react 获取input标签的输入值的相关文章

关于获取input标签属性的获取以及更改,此处用到的是readonly属性

一开始,我使用的是Jquery框架中的$.("#input").readOnly,发现取出的值为undefined,不知道是不是jQuery中不支持获取标签属性的函数, 然后就使用了原生的document.getElementById("input1").readOnly并且可以更改它的值以及取值,此处有疑问没有试过可否用document.getElementById("input1").readonly 本文第一次写博客,欢迎大家指导,有哪里写

获取input标签中file的内容

1.直接获取文件中的内容: <form id="form" method="post" enctype="multipart/form-data"> <input type="file" id="input"> </form> <button id="button">获取内容</button> <script src=&q

javascript笔记——js获取input标签中光标的索引

出处:http://www.cnblogs.com/MrZouJian/p/5850553.html function getTxt1CursorPosition(){ var oTxt1 = document.getElementById("txt1"); var cursurPosition=-1; if(oTxt1.selectionStart){//非IE浏览器 cursurPosition= oTxt1.selectionStart; }else{//IE var range

如何用input标签上传多个图片并回显

本文主要记录如何用input标签和jquery实现多图片的上传和回显,不会涉及后端的交互,大概的效果看图 我们从零来做一个这样的demo 第一步: 我们先完善一下我们的页面,默认的input-file标签非常丑,我们美化一下它,不会的可以百度一下,就是外面套个盒子,设置input的opacity为0,然后外面的盒子设计成我们喜欢的样式即可,我就随便做了一下. 还是放一下源码,只谈效果,不放源码的都是耍流氓 这是body <body> <div class="uploadImgB

jquery 中获取input指定name的标签对象

jquery 中获取input指定name的标签对象,用$("input[name^='?????']"); 这里name^='?????'中的 ^ 什么用? 表示name的值是以???开头的元素 比如$("input[name^='hi']")就会选择以下的元素<input type ="text" name ="hiworld" / > ^开头表示 name 以 ?????开头的 类似的还有$ 结尾* 包含!

html5中form表单新增属性以及改良的input标签元素的种类

在HTML5中,表单新增了一些属性,input标签也有了更多的type类型,有些实现了js才能实现的特效,但目前有些浏览器不能全部支持.下面是一些h5在表单和input标签上的一些改动. <!DOCTYPE html><html> <head> <title>表单测试</title> <meta charset="utf-8" /> <!-- 在不支持h5的浏览器中,可以用CSS样式进行改写 --> &

input标签的hidden属性,四大常用JSTL标签库

input标签的hidden属性的应用及作用 定义:传输关于客户端/服务器交互的状态信息. Transmits state information about client/server interaction. 解释: 此元素在页面中不显示,在提交表单时发送 value 属性的值. ——隐藏域,在页面上不显示,但是可以将参数传递给下一页,也可以被本页的javascript函数获取. 隐含域主要用于提交表单的时候传递动态参数. 四个常用标签库: <c:set  <c:if   <c:fo

input标签的监听事件

监听事件的触发是完成交互的一个重要组成部分,现将input标签的监听事件整理如下. onfocus         当input 获取到焦点时触发. onblur            当input失去以获取到焦点时触发. 1.1  onchange      当input失去焦点并且它的value值发生变化时触发. 1.2  onpropertychange    只要当前对象属性发生改变,都会触发事件,IE专属(6.7.8). onkeydown   在 input中有键按住的时候触发事件.

input 标签的监听事件总结

最近在写一个手机端提交表单的项目,里面用了不少input标签,因为项目不太忙,所以,想做的完美点,但是遇到了一些问题,比如:页面中的必填项如果有至少一项为空,提交按钮就是不能提交的状态,所以需要对所有的input内容进行监听,刚开始我用了jquery的keyup事件解决问题,但是后来测试出一个bug,如果用户选择粘贴复制的话,keyup事件不能触发,也就不能通过判断input内容来改变提交按钮的状态.下面就这种问题做下总结,希望对自己和他人以后能有点帮助. 1.onfocus  当input 获