我有这个剧本:
function validateform() {
var textarea = document.getElementById('textareabox');
var word = '<?php echo $answerbutton_of_this_page; ?>';
var textValue = textarea.value.toLowerCase();
if (textValue.indexOf(word) != -1) {
document.getElementById("correcto").innerHTML = '<?php echo $outputvali_of_this_page; ?>';
return true;
} else {
document.getElementById("incorrecto").innerHTML = 'Incorrect! The term is not recognized as the name of a cmdlet, function, script file, or operable program.';
}
}
它很棒,直到我得到的答案超过1个页面。 我一直在尝试修改脚本以接受2个或更多答案,但我无法让它工作......
我添加了另一个带有额外esle的var字:if {} else {} else {} 我一直在谷歌搜索答案,但我找不到任何东西。 有人可以发送一个可以帮助我的链接吗?
编辑: 我通过添加以下内容解决了这个问题:
function validateform() {
var textarea = document.getElementById('textareabox');
var word = <?php echo json_encode($answerbutton_of_this_page); ?>;
var word2 = <?php echo json_encode($answerbutton2_of_this_page); ?>;
var textValue = textarea.value.toLowerCase();
if (textValue.indexOf(word) != -1) {
document.getElementById("correcto").innerHTML = <?php echo json_encode($outputvali_of_this_page); ?>;
return true;
}
if (textValue.indexOf(word2) != -1) {
document.getElementById("correcto").innerHTML = <?php echo json_encode($outputvali_of_this_page); ?>;
return true;
} else {
document.getElementById("incorrecto").innerHTML = 'Incorrect! The term is not recognized as the name of a cmdlet, function, script file, or operable program.';
}
}
答案 0 :(得分:0)
似乎textArea
包含您要搜索的word
的多次出现。如果是这样,那么这段代码可能符合您的期望。
function validateform() {
var textarea = document.getElementById('textareabox');
var word = '<?php echo $answerbutton_of_this_page; ?>';
var textValue = textarea.value.toLowerCase();
var idx = textValue.indexOf(word, 0);
while( idx != -1 ){
// console.log(textValue.indexOf(word, idx));
// your stuffs here
//
idx = textValue.indexOf(word, idx+1);
}
}
while块将循环检查是否还有其他word
。