Javascript根据另一个文本框值输出到文本框

时间:2012-12-14 00:43:10

标签: javascript forms search textbox output

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

以下不是最终实现,而是同一构思的示例形式:

<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>

所以我试图让函数搜索文本框&#34; output1&#34;如果它包含单词&#34;输入1&#34;在这个例子中,然后它输出一些东西到文本框&#34; output2&#34;。我不认为作为输入结果的output1在这个例子中起作用(不确定原因)但我主要是试图根据box output1中包含的单词找出output2。

非常感谢任何帮助。感谢。

2 个答案:

答案 0 :(得分:0)

我猜你正在寻找的是String.indexOf()。例如:

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

if (input.indexOf('some') !== -1) {
    out = 'I have some in input!';
}

答案 1 :(得分: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元素
  7. 中添加html

    我曾经从id获取元素,因此如果你使用其他方式学习javaScript,则在html元素中添加

    我认为你应该learn JavaScript好。

    重新格式化你的代码,你修复了很多我修复过的错误并遵循完整的代码:

    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>

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