javascript:输入表单需要特定的单词

javascript:输入表单需要特定的单词,javascript,Javascript,我很难验证一个必须包含特定单词的文本字段。例如,我键入了一个测试页面,该页面要求用户键入“hello”,如果他们不键入,则会出现警报 我曾尝试使用indexOf,但在我的案例中它失败了。请问出了什么问题?还有没有其他方法来验证这种情况?如果可能的话,我更喜欢使用香草javascript。谢谢 <html> <head> <script type="text/javascript"> function checkT

我很难验证一个必须包含特定单词的文本字段。例如,我键入了一个测试页面,该页面要求用户键入“hello”,如果他们不键入,则会出现警报

我曾尝试使用indexOf,但在我的案例中它失败了。请问出了什么问题?还有没有其他方法来验证这种情况?如果可能的话,我更喜欢使用香草javascript。谢谢

<html>
    <head>
        <script type="text/javascript">
            function checkText()
            {
            var text1 = document.getElementById("intro").value;
            var text2 = 'hello';

            if(text1.indexOf(text2) > -1){
                alert("Say hello");
                return false;
            }else{
                alert("Okay!");
            }
        }
        </script>
    </head>
    <body>
        Introduce yourself <input type="text" name="intro" id="intro"> <input type="button" value="Click" onClick="checkText()">
    </body>
</html>

函数checkText()
{
var text1=document.getElementById(“intro”).value;
var text2='hello';
如果(text1.indexOf(text2)>-1){
警惕(“打招呼”);
返回false;
}否则{
警惕(“好的!”);
}
}
自我介绍
Inline方法
您必须在函数中获取该值,因为加载脚本时该值不可用。另外,如果要在hello不存在时发出警报
说hello
,请将条件更改为检查
text1.indexOf(test2)=-1

    var text2 = 'hello';

    function checkText()
    {
        var text1 = document.getElementById("intro").value;
        if(text1.indexOf(text2) == -1){
            alert("Say hello");
            return false;
        }else{
            alert("Hello " +text1);
        }
    }
JS小提琴:


首选方法
另外需要注意的是,您应该避免在HTML中内联附加事件。可以使用以下命令在脚本中附加事件

HTML

Introduce yourself <input type="text" name="intro" id="intro">
<input id="btnCheck" type="button" value="Click">

JS Fiddle:

text1
在检查时未定义为最新值,因此应改为:

var text2='hello'

        function checkText()
        {
            var text1 = document.getElementById("intro").value;//updates every time you check

            if(text1.indexOf(text2) > -1){
                alert("Say hello");
                return false;
            }else{
                alert("Hello " +text1);
             }
        }
    </script>
</head>
<body>
    Introduce yourself <input type="text" name="intro" id="intro"> <input type="button" value="Click" onClick="checkText()">
</body>
函数checkText()
{
var text1=document.getElementById(“intro”).value;//每次检查时都会更新
如果(text1.indexOf(text2)>-1){
警惕(“打招呼”);
返回false;
}否则{
警报(“你好”+text1);
}
}
自我介绍
var text2='hello';
函数checkText(){
text1=document.getElementById(“intro”).value;
如果(text1.indexOf(text2)>-1){
警惕(“打招呼”);
返回false;
}否则{
警报(“你好”+text1);
}   
}
<

您需要确保在每次单击时获得Text 1的新值,而不是仅当脚本加载时。

<代码> Text 1.ToWoReCase](索引)(Text 2)< /C> > RendySetiadi也考虑更新的首选方法,该方法通过脚本而不是内联来附加事件。
        function checkText()
        {
            var text1 = document.getElementById("intro").value;//updates every time you check

            if(text1.indexOf(text2) > -1){
                alert("Say hello");
                return false;
            }else{
                alert("Hello " +text1);
             }
        }
    </script>
</head>
<body>
    Introduce yourself <input type="text" name="intro" id="intro"> <input type="button" value="Click" onClick="checkText()">
</body>
var text2 = 'hello';
function checkText(){
        text1 = document.getElementById("intro").value;
        if(text1.indexOf(text2) > -1){
            alert("Say hello");
            return false;
        } else {
        alert("Hello " +text1);
    }   
}
<