0

我正在尝试创建一个 javascript 表单,其中有一个将单词输出到文本框中的输入,然后根据该框中某些单词(不是确切的短语)的存在,在另一个文本框中有第二个输出。我有一种感觉,它可能需要一个 .search 命令和一些与正则表达式有关的东西,但我正在努力弄清楚如何实现它。

以下不是最终实现,而是相同想法的示例形式:

<html>
<head>
<script type="text/javascript">

function calculate(){

var input = document.input.value;
var output1 = document.output1.value;

if (input = 1){
output1 = "x type 1";
}

else if (input = 2){
output1 = "y type 1";
}

else if (input = 3){
output1 = "y type 2";
}

if (output1.search("type 1"){
document.output2.value = "z";
}

}
</script>
</head>
<body>
<form>
Input<input type="textbox" name="input"><br>
<input type="button" onclick="calculate()" value="Calculate" /><br>
<textarea rows="2" name="output1" ></textarea>
<textarea rows="2" name="output2" ></textarea>
</form>
</body>
</html>

所以我试图让函数搜索文本框“output1”,如果它在这个例子中包含“type 1”这个词,那么它会在文本框“output2”中输出一些东西。我不认为作为输入的结果的 output1 在这个例子中起作用(不知道为什么),但我主要是想根据 box output1 中包含的单词来计算 output2。

任何帮助将不胜感激。谢谢。

4

2 回答 2

0

我猜你要找的是String.indexOf(). 例子:

var input = 'here i have some words';
var out;

if (input.indexOf('some') !== -1) {
    out = 'I have some in input!';
}
于 2012-12-14T00:48:29.593 回答
0

您的代码有几个错误标记以下错误:

  1. document.input.value代替document.getElementById("input").value
  2. var output1 = document.output1.value;代替var output1;
  3. 总之如果方法改变input = 1而不是input == 1
  4. 改变document.output2.value而不是document.getElementsByName("output2").value
  5. 添加document.getElementsByName("output1").value=output1;设定值
  6. 添加元素id_html

我曾经从 id 获取元素,所以如果您使用其他方式学习 javaScript,则添加到 html 元素中

我认为你应该好好学习 JavaScript

重新格式化您的代码,您编写了 systex 很多错误,我已修复并遵循完整代码:

function calculate(){
var input = document.getElementById("input").value;
var output1;
if (input == 1){
output1 = "x type 1";
}


else if (input == 2){
output1 = "y type 1";
}

else if (input == 3){
output1 = "y type 2";
}

if (output1.search("type 1")){
document.getElementById("output2").value="z";
}
document.getElementById("output1").value=output1;

}
<form>
Input<input type="textbox" name="input" id="input"><br>
<input type="button" onclick="calculate()" value="Calculate" /><br>
<textarea rows="2" name="output1" id="output1"></textarea>
<textarea rows="2" name="output2" id="output2"></textarea>
</form>

让我知道它是否有帮助或有任何问题。

于 2015-11-01T05:52:23.210 回答