我正在尝试创建一个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。
非常感谢任何帮助。感谢。
答案 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)
您的代码有几个错误标记以下错误:
document.input.value
代替document.getElementById("input").value
var output1 = document.output1.value;
代替var output1;
input = 1
而不是input == 1
,则document.output2.value
而不是document.getElementsByName("output2").value
document.getElementsByName("output1").value=output1;
id
元素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>
让我知道它是否有帮助或任何问题。