Javascript 如何在var word中添加2个单词=
我有这个剧本:Javascript 如何在var word中添加2个单词=,javascript,Javascript,我有这个剧本: 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) { do
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.';
}
}
函数validateform(){
var textarea=document.getElementById('textareabox');
var-word='';
var textValue=textarea.value.toLowerCase();
if(textValue.indexOf(word)!=-1){
document.getElementById(“correcto”).innerHTML='';
返回true;
}否则{
document.getElementById(“incorrecto”).innerHTML=“不正确!该术语未被识别为cmdlet、函数、脚本文件或可操作程序的名称。”;
}
}
它工作得很好,直到我得到了超过一个答案的页面。
我一直试图修改脚本以接受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.';
}
}
函数validateform(){
var textarea=document.getElementById('textareabox');
变量词=;
var-word2=;
var textValue=textarea.value.toLowerCase();
if(textValue.indexOf(word)!=-1){
document.getElementById(“correcto”).innerHTML=;
返回true;
}
if(textValue.indexOf(word2)!=-1){
document.getElementById(“correcto”).innerHTML=;
返回true;
}否则{
document.getElementById(“incorrecto”).innerHTML=“不正确!该术语未被识别为cmdlet、函数、脚本文件或可操作程序的名称。”;
}
}
似乎textArea
包含多个您要搜索的单词。如果是这样,那么这段代码可能会满足您的期望
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);
}
函数validateform(){
var textarea=document.getElementById('textareabox');
var-word='';
var textValue=textarea.value.toLowerCase();
var idx=textValue.indexOf(字,0);
while(idx!=-1){
//log(textValue.indexOf(word,idx));
//你的东西在这里
//
idx=textValue.indexOf(单词,idx+1);
}
}
while块将循环检查是否有任何其他出现的word
这是非常不清楚的,您想在哪里有超过1个单词?使用并使用for(var i;iSide注释(可能):var word='';
如果输出包含'
、新行或任何JavaScript转义序列作为单个字符,则将完全失败或损坏字符串。正确的方法(如果您打算使用PHP生成JavaScript)isvar word=;
@Nicolas:json_encode
处理所有必需的字符(包括换行符);addslashes
不处理(但在'
之前添加不必要的反斜杠),例如,它说它只处理'
,“
、\
和空字节。因此,换行符、退格符、其他控制字符都不会被处理。此外,json\u encode
在多种数据类型中都能很好地工作,而不仅仅是字符串。@T.J.Crowder感谢您的澄清!)