Javascript 将文本添加到<;输入>;元素但不';不要删除它
我有一个Javascript 将文本添加到<;输入>;元素但不';不要删除它,javascript,html,input,Javascript,Html,Input,我有一个html元素。 该元素由默认值填充。 用户应该能够在默认文本的末尾追加新文本,但不能删除默认值。 我怎样才能解决这个问题?试试这个 脚本: <script type="text/javascript"> function MyFunction() { document.getElementById('TextBox3').value = document.getElementById('defaultValue').value;
html元素。
该元素由默认值填充。
用户应该能够在默认文本的末尾追加新文本,但不能删除默认值。
我怎样才能解决这个问题?试试这个
脚本:
<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>
函数MyFunction(){
document.getElementById('TextBox3')。value=document.getElementById('defaultValue')。value;
//如果asp:textbox控件应在下面工作
document.getElementById(“”).value=document.getElementById('defaultValue').value;
}
}
您可以使用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);
}
}
我在这里设置了一个JSFIDLE:
您还可以将输入值与keydown事件上的正则表达式模式进行比较。如果正则表达式不匹配,您可以拒绝按键,例如退格。如果您不想做一些复杂的JS,您可以使用带有一些填充的背景图像。我会将默认文本显示为
之前的文本,并使输入可选。您可以使用CSS使文本具有直观性,因为它将直接连接到
字段。这无疑是最好的解决方案。否则,您需要检查按UP键,然后查看输入字符串是否包含“默认值”,如果不包含,则将内容替换为“默认值”。