我有一个<input>
html元素。 该元素被默认值填充。 用户应该能够在默认文本末尾附加新文本,但不能删除默认值。 我该如何解决这个问题?添加文字到<input>元素,但不要删除它
2
A
回答
2
,您可以用JavaScript做到这一点:
listen('load', window, init);
function init() {
var test = document.getElementById('test');
var val = test.value;
listen('keydown', test, replaceVal);
listen('keyup', test, replaceVal);
function replaceVal() {
tempVal = test.value;
if (tempVal.indexOf(val) === -1) {
tempVal = val;
test.value = val;
}
}
}
function listen(event, elem, func) {
if (elem.addEventListener) {
elem.addEventListener(event, func, false);
} else if (elem.attachEvent) {
elem.attachEvent('on' + event, func);
}
}
我已经在这里建立了一个的jsfiddle:http://jsfiddle.net/sjfwz/
+0
它正在工作。谢谢 – Martynas 2012-03-07 14:46:16
+0
不客气! – 2012-03-07 14:47:20
0
试试这个
脚本:
<script type="text/javascript">
function MyFunction() {
document.getElementById('TextBox3').value = document.getElementById('defaultValue').value;
//if asp:textbox control should be work below
document.getElementById('<%=TextBox4.ClientID%>').value = document.getElementById('defaultValue').value;
}
</script>
}
<body onLoad="javascript:MyFunction();">
<input type="hidden" id="defaultValue" name="defaultValue" value="defaultValue"/>
<input type="text" id="TextBox3" />
<asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>
</body>
0
你可以还将输入值与ke上的正则表达式模式进行比较ydown事件。如果正则表达式不匹配,则可以拒绝按键,例如退格键。
0
如果你不想做一些复杂的JS,你可以使用带有一些填充的背景图像。
相关问题
- 1. 添加和删除元素
- 2. 添加和删除文本框元素
- 3. JQuery不删除添加元素
- 4. 再次添加,删除和添加元素删除其事件
- 5. 添加到单元格的公式,但不删除公式
- 6. 使用jQuery元素添加删除元素使用html元素
- 7. 使用ng-repeat添加/删除DOM元素<input>
- 8. 列表<?>添加和删除元素
- 9. 删除元素,但在xmlstarlet
- 10. 添加(删除)元素(S)从ImmutableSortedMultiset
- 11. 添加和删除元素序列
- 12. 使用HtmlUnit添加和删除元素
- 13. 删除jQuery添加的元素
- 14. 删除动态添加的元素
- 15. 无法删除动态添加元素
- 16. AngularJS:删除DOM中的HTML元素,但不删除它的内容
- 17. Javascript - 确定需要删除或添加的元素数
- 18. XSLT删除不需要的元素
- 19. 从元素中删除元素而不删除元素后
- 20. 在img之后添加“</a>”jQuery将它添加到元素之前
- 21. Vue.js:从v中删除元素时添加“_delete”元素
- 22. 删除数组元素并将它们添加到相同的索引iOS
- 23. Git忽略文件,但不删除它
- 24. 的jQuery的onclick添加类和删除,但它不工作
- 25. 如何添加路径到UIImage,它将删除像素?
- 26. 使用jquery添加/删除类,但不重绘元素以反映
- 27. 如何添加到元素,如果需要首先创建它
- 28. 删除/阻止未来要加载到DOM中的元素
- 29. 根据数值字段中的值添加或删除元素
- 30. 删除contenteditable div的内容,添加奇怪的字体元素
我会在文本_before_上显示默认文本,并且使输入为可选项。你可以使用CSS来给文本添加文本,因为它可以直接连接到''字段。 – Jona 2012-03-07 13:58:31
肯定是最好的解决方案。否则,您需要检查pressUp,然后查看输入字符串是否包含“默认值”,如果不是用“默认值”替换内容。 – 2012-03-07 14:02:56