首页 > 解决方案 > 使用多个函数时如何返回用户输入?

问题描述

这里的初级开发人员试图了解为什么我的代码没有按预期工作。我的代码中有两个文本字段(标签 1 和标签 2),我的目的是将这些字段的值连接在一起。我使用一个名为 validateForm 的函数来验证两个字段中是否存在一个值;如果任一字段中都不存在值,则会显示一个警告框。

如果两者中都存在一个值,我希望 validateForm 函数调用 assembleTags 函数以将用户输入的值相互连接。另外,还有一个“重置”按钮,用于在单击时重置生成器。我可能做错了什么?

<!DOCTYPE html>
<html>
<body>
<p id="demo">
<form id="concatenation" method="post">
Tag 1<br>
<input type="text" name="tag_1" id="tag1" size="75">
<br>
<br>
Tag 2
<br>
<input type="text" name="tag_2" id="tag2" size="75">
<br>
<br>
<input type="submit" name="get_tags" id="gettags" value ="Get Tags" onclick="assembleTags()" style="cursor:pointer">
<input type="button" name="reset_generator" id="resetgenerator" value="Reset Generator" onclick="myServerReset()" style="cursor:pointer">
<br>
<br>
<h3 id="result"></h3>
</form>
</p>
<script>
function validateForm()
    var a = document.forms['concatenation']['tag1'].value;
    var b = document.forms['concatenation']['tag2'].value;
    if (a == "" && b == "") {
        alert("Please include Tag 1 and Tag 2"); 
        return false;
    } 
    else if (a == "" && b != "") {
        alert("Please include Tag 1")
        return false;
    }
    else if (a != "" && b == "") {
        alert("Please include Tag 2")
        return false;
    else
        assembleTags() {
    }
function assembleTags() {
    document.getElementById('result').innerHTML = document.getElementById('tag1').value + document.getElementById('tag2').value
}
}
function myServerReset() {
document.getElementById('concatenation').reset();
}
</script>
</body>
</html> 

标签: javascripthtml

解决方案


我不知道这是否是粘贴错误,但左大括号和右大括号是否正确?

例如:

  • 后缺少左大括号function validateForm()
  • 错位后的开口支架else

    else assembleTags() { }

  • 后的附加右大括号function assembleTags()


推荐阅读