【问题标题】:Add text inside an input [duplicate]在输入中添加文本[重复]
【发布时间】:2020-10-26 12:45:36
【问题描述】:

有一个输入表单(文件类型):

<input
  name="image"
  id="image-input"
  accept="image/*"
  onChange={this.uploadFile}
  multiple
  type="file"
  className="imgInp"
/>

如何在上面添加文字?我不希望它出现在输入之外,在这种情况下,我会添加一个跨度,例如:&lt;span&gt; Upload image &lt;/span&gt; 但我希望文本出现在输入中。

this page 上,它表示必须添加一个属性value,但如果我将其添加到输入中,则会引发此错误:

InvalidStateError: Failed to set the 'value' property on 'HTMLInputElement': This input element accepts a filename, which may only be programmatically set to the empty string.

<input
  name="image"
  id="image-input"
  accept="image/*"
  onChange={this.uploadFile}
  multiple
  type="file"
  className="imgInp"
  value="Upload image" //this is where value was added
/>

有没有办法让它工作?

【问题讨论】:

  • 看来您使用的是框架,对吧?是哪个?
  • 我正在使用 React

标签: javascript html reactjs input


【解决方案1】:

那是因为您正在尝试为文件类型输入添加值。如果你对文本类型输入做同样的事情,它会工作得很好。

如果您想更改文件输入的默认文本,那么您将不得不处理一些 js 以及 html。

在这种情况下,此链接可能会有所帮助: Change default text in input type="file"?

【讨论】:

    【解决方案2】:

    “上传图片”

    根据您要添加的文本,我相信您要使用的属性是placeholder,而不是value。这将为您提供一个包含所需文本的输入字段。

    【讨论】:

    • 我试过了,可惜没用
    • 我刚刚意识到您想更改按钮的文本。解决方案似乎是在重复的问题中,它在输入上设置了一个按钮的样式。 jsfiddle.net/JJRrc/1
    猜你喜欢
    • 1970-01-01
    • 2022-12-11
    • 2017-02-06
    • 2019-06-30
    • 1970-01-01
    • 2018-10-07
    • 1970-01-01
    • 2020-12-29
    • 2023-03-31
    相关资源
    最近更新 更多