您将如何在 JavaScript 中设置表单 <input>
文本字段的默认值?
这是一种方法:
document.getElementById("nameofid").value = "My value";
我使用'setAttribute'函数:
<input type="text" id="example"> // Setup text field
<script type="text/javascript">
document.getElementById("example").setAttribute('value','My default value');
</script>
value
应该使用点符号直接访问:developer.mozilla.org/en-US/docs/Web/API/Element.setAttribute 您只使用 set/getAttribute 来处理原始值。 DOM 加载完成后,.value
代表元素的实际工作值。
setAttribute
解决的奇怪问题。我的问题是通过函数调用更改输入的值,也更改最后更改的输入。
如果您的表单包含一个输入字段,例如
<input type='text' id='id1' />
然后你可以用javascript编写代码,如下所示,将其值设置为
document.getElementById('id1').value='text to be displayed' ;
如果您使用多个表单,则可以使用:
<form name='myForm'>
<input type='text' name='name' value=''>
</form>
<script type="text/javascript">
document.forms['myForm']['name'].value = "New value";
</script>
2021答案
您现在可以将 document.querySelector()
用于不同的情况,而不是使用 document.getElementById()
more info from another StackOverflow answer:
querySelector 可让您查找具有无法用 getElementById 和 getElementsByClassName 表达的规则的元素
例子:
document.querySelector('input[name="myInput"]').value = 'Whatever you want!';
或者
let myInput = document.querySelector('input[name="myInput"]');
myInput.value = 'Whatever you want!';
测试:
document.querySelector('input[name="myInput"]').value = '随便你!';
document.querySelector("#name").value='foo'
与广泛使用的 id
一起使用。
querySelector
可以有多个规则。你的评论很有帮助!我会支持它,但我不会发布新答案,因为它是相同的
试试这些。
document.getElementById("current").value = 12
// or
var current = document.getElementById("current");
current.value = 12
答案很简单
// Your HTML text field
<input type="text" name="name" id="txt">
//Your javascript
<script type="text/javascript">
document.getElementById("txt").value = "My default value";
</script>
或者,如果您想完全避免使用 JavaScript:您可以只使用 HTML 来定义它
<input type="text" name="name" id="txt" value="My default value">
value
属性...
<input id="a_name" type="text" />
以下是使用 jQuery
的解决方案:
$(document).ready(function(){
$('#a_name').val('something');
});
或者,使用 JavaScript
:
document.getElementById("a_name").value = "Something";
快乐编码:)
简单的答案不是在 Javascript 中获取占位符的最简单方法是通过占位符属性
<input type="text" name="text_box_1" placeholder="My Default Value" />
document.getElementById("fieldId").value = "Value";
或者
document.forms['formId']['fieldId'].value = "Value";
或者
document.getElementById("fieldId").setAttribute('value','Value');
这很简单;一个例子是:
<input type="text" id="example"> // Setup text field
<script type="text/javascript">
var elem = document.getElementById("example"); // Get text field
elem.value = "My default value"; // Change field
</script>
这对我有用
//HTML
<div id="mytext">Some Text Value</div>
// JavaScript
document.getElementById("mytext").value = "My value";
如果由于某种原因该字段只有一个名称属性而没有其他属性,您可以尝试以下操作:
document.getElementsByName("INPUTNAME")[0].value = "TEXT HERE";
<form>
<input type="number" id="inputid" value="2000" />
</form>
<script>
var form_value = document.getElementById("inputid").value;
</script>
您还可以将默认值更改为新值
<script>
document.getElementById("inputid").value = 4000;
</script>
这部分你在 html 中使用
<input id="latitude" type="text" name="latitude"></p>
这是javaScript:
<script>
document.getElementById("latitude").value=25;
</script>
你也可以试试:
document.getElementById('theID').value = 'new value';
直接访问
如果您使用 ID,那么您可以直接访问 JS 全局范围内的输入
myInput.value = 'default_value'
以下代码运行良好:
var $div = ('#js-div-hour input');
$div.attr('value','2022/01/10');
不定期副业成功案例分享
.value = ...
只会更改当前值。重置表单 (例如使用<input type="reset" />
) 会将值更改回原来的值。相反,setAttribute("value", ...)
在 Firefox 和 Chrome 中正常工作。默认值已更改,但实际值仅在用户尚未修改时才更改。但是,由于浏览器兼容性,不推荐使用setAttribute
。还有其他可能吗?