Javascript 是否尝试创建一个只允许用户在此jquery中输入word一次的输入?
点击查看。我正在尝试创建一个只允许用户输入word一次的输入。如果单词“dog”存在,则用户不能再次输入dog。但是我的代码并不像我期望的那样工作。帮忙,谢谢Javascript 是否尝试创建一个只允许用户在此jquery中输入word一次的输入?,javascript,jquery,css,Javascript,Jquery,Css,点击查看。我正在尝试创建一个只允许用户输入word一次的输入。如果单词“dog”存在,则用户不能再次输入dog。但是我的代码并不像我期望的那样工作。帮忙,谢谢 $(“#输入”).keydown(函数(事件){ var$input=$(“#input”); var txtToMatch=$('#test').text(); var-iLimit=1; var sMatch=$('#input').text().match(txtToMatch); if(sMatch!==null&&sMatch
$(“#输入”).keydown(函数(事件){
var$input=$(“#input”);
var txtToMatch=$('#test').text();
var-iLimit=1;
var sMatch=$('#input').text().match(txtToMatch);
if(sMatch!==null&&sMatch.length>iLimit){
警报(“同一个单词”)
}
否则{
//将输入值放入div
var值=$(“#输入”).val();
$('#test').text($('#test').html()+“”+value);
}
});代码>
.test{
显示:内联块;
}
狗
你可以这样做
$("#button").click(function(){
var value=$('#input').val();
var toCheck = $('#test').html().split(" ");
var check = value.split(" ");
for(var i=0; i<check.length; i++)
{
if(toCheck.indexOf(check[i])!==-1) check[i]="";
}
$('#test').text($('#test').html() + " " + check.join(" "));
});
$(“#按钮”)。单击(函数(){
var值=$(“#输入”).val();
var toCheck=$('#test').html().split(“”);
var检查=值。拆分(“”);
对于(var i=0;i你可以这样做
$("#button").click(function(){
var value=$('#input').val();
var toCheck = $('#test').html().split(" ");
var check = value.split(" ");
for(var i=0; i<check.length; i++)
{
if(toCheck.indexOf(check[i])!==-1) check[i]="";
}
$('#test').text($('#test').html() + " " + check.join(" "));
});
$(“#按钮”)。单击(函数(){
var值=$(“#输入”).val();
var toCheck=$('#test').html().split(“”);
var检查=值。拆分(“”);
对于(var i=0;i使用数组跟踪所有单词
var words = [];
words.push($("#test").text());
然后,每次单击submit按钮时检查此数组。如果数组中不存在输入字,请将其推送到数组中
$("#button").click(function(){
//put input value into div
var inputText = $.trim($("#input").val());
if(words.indexOf(inputText)>=0){
alert("Word exists");
return;
}
words.push(inputText);
$('#test').text($('#test').html() + " " + inputText);
});
使用数组跟踪所有单词
var words = [];
words.push($("#test").text());
然后,每次单击submit按钮时检查此数组。如果数组中不存在输入字,请将其推送到数组中
$("#button").click(function(){
//put input value into div
var inputText = $.trim($("#input").val());
if(words.indexOf(inputText)>=0){
alert("Word exists");
return;
}
words.push(inputText);
$('#test').text($('#test').html() + " " + inputText);
});
您有一些不错的想法,但实施不太正确。有几个关键问题:
您在输入时使用了keypress
事件,因此每次您键入一封信时,它都会触发。实际上,您确实希望在用户输入完文本后检查按钮单击
您使用的是.text
而不是.val()
来获取输入值
您使用.match()
将输入值与现有值进行比较,而indexOf()
与您想要了解的内容更为匹配(例如,“字符串中是否存在此单词?”)
在解决了这些核心问题并在这里和那里进行了一些其他调整之后,以下代码似乎完成了您试图完成的任务:
$(“#按钮”)。单击(函数(){
var值=$.trim($('#input').val());
如果(值!==“”){
var txtToMatch=$('#test').text();
var iMatch=txtToMatch.indexOf(值);
如果(iMatch!=-1){
警报('单词已存在!');
}
否则{
//将输入值放入div
$('#test').text(txtToMatch+“”+值);
}
}
});
.test{
显示:内联块;
}
狗
您有一些不错的想法,但实施不太正确。有几个关键问题:
您在输入时使用了keypress
事件,因此每次您键入一封信时,它都会触发。实际上,您确实希望在用户输入完文本后检查按钮单击
您使用的是.text
而不是.val()
来获取输入值
您使用.match()
将输入值与现有值进行比较,而indexOf()
与您想要了解的内容更为匹配(例如,“字符串中是否存在此单词?”)
在解决了这些核心问题并在这里和那里进行了一些其他调整之后,以下代码似乎完成了您试图完成的任务:
$(“#按钮”)。单击(函数(){
var值=$.trim($('#input').val());
如果(值!==“”){
var txtToMatch=$('#test').text();
var iMatch=txtToMatch.indexOf(值);
如果(iMatch!=-1){
警报('单词已存在!');
}
否则{
//将输入值放入div
$('#test').text(txtToMatch+“”+值);
}
}
});
.test{
显示:内联块;
}
狗
你想在提交时检查还是在按键时检查?我再次编辑代码。很抱歉让人困惑。你想在提交时检查还是在按键时检查?我再次编辑代码。很抱歉让人困惑。是的,数组绝对是处理大量单词的更好方法。是的,数组绝对是处理大量wo的更好方法rds。