输入类型值相当于defaultValue
HTML: Input type value equivalent to defaultValue
我需要更改type="button"的输入值。另一个函数通过比较"value"属性和"defaultValue"属性来检查它的值是否被改变了(但这不是重点…)。除了type="button"的输入,其他的都可以正常工作。由于某些原因,浏览器也会更改默认值。但是为什么呢?
注意:没有jQuery!
下面是一个简化的测试代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript">
function d(input)
{
alert("value: "+ input.value +"'ndefaultValue: "+ input.defaultValue);
}
</script>
</head>
<body>
<input type="button" value="0" onclick="d(this); this.value=1; d(this);" />
</body>
</html>
将d的定义直接放在全局作用域中:http://jsfiddle.net/UQTY2/34/
window.d = function (input) {
alert("value: " + input.value + "'ndefaultValue: " + input.defaultValue);
}
好问题!type="reset"也不行。
这是因为它们没有指定数据类型,它们只是按钮。您可以保存按钮的第一个值,然后使用它。我给你写了一个例子:
<!DOCTYPE HTML>
<html>
<head></head>
<body>
<input id="test" type="button" value="Old text" onclick="d(this); this.value='Hello, new text';"/>
<script type="text/javascript">
var defaultValueOfInput = document.getElementById("test").value;
function d(button){
alert("Value: "+button.value+"'ndefaultValue: "+defaultValueOfInput);
}
</script>
</body>
</html>
编辑: 我的代码更新。
相关文章:
- es6 相当于下划线查找位置
- 相当复杂的Regex
- 什么's是相当于LINQ's SelectMany运算符
- 在流星中react不工作的defaultValue
- JavaScript相当于Smalltalk开发周期
- UWP webView相当于Android中的addJavascriptInterface()
- 相当于 ServiceWorker 中的 SharedWorker 端口
- Javascript:相当于PHP'使用RAW二进制输出的s hash_hmac.()
- 页面对象设计:有没有相当于Ruby gem的Javascript;site_prism”;
- 相当于bcpowmod的javascript
- 相当于Ruby中的pull和uniq的Javascript
- python相当于Meteoserver、Derbyjs或Angularjs
- PHP 相当于 Coldfusion 的 cfpdfform
- this.defaultValue 返回 select 元素的未定义
- 相当于 Jquery/Backbone.js 中的 Dgrid/Store (Dojo 工具包)
- Sidr.js相当于没有jQuery的AngularJS
- 相当于pyinstaller,用于冻结python、html和javascript
- 组合框React Widgets上的动态defaultValue
- 纯Javascript:相当于jQuery$.data('key',value)
- 输入类型值相当于defaultValue