如何在不使用属性"value"的情况下为"input type = text"定义默认值?

q09*_*987 33 html

我需要为input type = text字段提供一个默认值,如下所示:

<input type="text" size="32" value="" name="fee" />
Run Code Online (Sandbox Code Playgroud)

我知道有一种方法可以提供此默认值:

<input type="text" size="32" value="1000" name="fee" />
Run Code Online (Sandbox Code Playgroud)

这是一个问题:我是否可以在不使用属性'value'的情况下设置默认值?

据我所知,如果我手动设置输入值1000,然后通过Web浏览器查看源,则该值仍为空.所以我认为可能有一种方法可供我使用.

谢谢

Arj*_*uli 25

您应该使用属性占位符来为文本输入字段提供默认值.

例如

<input type="text" size="32" placeholder="1000" name="fee" />
Run Code Online (Sandbox Code Playgroud)

  • 这不回答这个问题.OP想要设置默认*值*.占位符未设置该值. (8认同)
  • 默认值和占位符是完全不同的东西...... (7认同)
  • 这只是将文本显示为背景,它不设置默认值。 (7认同)
  • @JoeMaffei caniuse.com是指CSS支持.所有浏览器都非常支持占位符属性,更改默认样式只是一件麻烦事. (6认同)

Pek*_*ica 9

问题是:是否可以在不使用属性“值”的情况下设置默认值?

不:value是设置默认属性的唯一方法。

你为什么不想使用它?


SLa*_*aks 7

您可以使用 JavaScript。

例如,使用 jQuery:

$(':text').val('1000');
Run Code Online (Sandbox Code Playgroud)

但是,这与使用value属性没有任何不同。

  • 这实际上不会设置默认值。为此,DOM 属性 *defaultValue* 是必需的。 (4认同)

Guf*_*ffa 7

您可以在创建元素后使用客户端脚本设置value属性:

<input type="text" id="fee" />

<script type="text/javascript>
document.getElementById('fee').value = '1000';
</script>
Run Code Online (Sandbox Code Playgroud)


Aka*_*mar 5

这对我有用

<input defaultValue="1000" type="text" />
Run Code Online (Sandbox Code Playgroud)

或者

let x = document.getElementById("myText").defaultValue; 
Run Code Online (Sandbox Code Playgroud)

  • @spiffytech `defaultValue` 与 React 无关,它是 HTML DOM API 的一部分,请参阅 https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement#defaultvalue 或 https://www .w3schools.com/jsref/prop_text_defaultvalue.asp。 (3认同)
  • 它是标准的 DOM 属性,可以在运行时设置,但它似乎不是标准的 HTML 元素属性。这是一个演示,显示元素属性不起作用:https://codepen.io/spiffytech/pen/rNQywob (2认同)